@rio-cloud/rio-uikit 0.16.1-beta-7 → 0.16.1-beta-10

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 (212) hide show
  1. package/lib/.DS_Store +0 -0
  2. package/lib/components/.DS_Store +0 -0
  3. package/lib/components/applicationHeader/AppMenu.js +3 -2
  4. package/lib/components/applicationHeader/AppMenuDropdown.js +7 -5
  5. package/lib/components/applicationHeader/ApplicationHeader.js +84 -162
  6. package/lib/components/applicationHeader/MobileAppMenu.js +77 -0
  7. package/lib/components/applicationHeader/MobileHeaderModal.js +90 -0
  8. package/lib/components/applicationHeader/MobileSubmoduleNavigation.js +89 -0
  9. package/lib/components/applicationHeader/NavItems.js +167 -274
  10. package/lib/components/applicationLayout/ApplicationLayoutBody.js +1 -3
  11. package/lib/components/applicationLayout/SubNavigation.js +60 -0
  12. package/lib/components/assetTree/AssetTree.js +4 -7
  13. package/lib/components/assetTree/Tree.js +46 -54
  14. package/lib/components/assetTree/TreeLeaf.js +1 -1
  15. package/lib/components/assetTree/TreeSelectAll.js +2 -1
  16. package/lib/components/assetTree/TreeSidebar.js +10 -22
  17. package/lib/components/assetTree/TypeCounter.js +10 -8
  18. package/lib/components/charts/AreaChart.js +5 -3
  19. package/lib/components/charts/BarChart.js +5 -3
  20. package/lib/components/charts/ChartTooltip.js +14 -0
  21. package/lib/components/charts/LineChart.js +4 -2
  22. package/lib/components/charts/PieChart.js +5 -3
  23. package/lib/components/charts/RadialBarChart.js +4 -4
  24. package/lib/components/charts/chartHelper.js +1 -1
  25. package/lib/components/dialog/Dialog.js +4 -4
  26. package/lib/components/dialog/baseDialogPropTypes.js +1 -1
  27. package/lib/components/map/.DS_Store +0 -0
  28. package/lib/components/map/components/.DS_Store +0 -0
  29. package/lib/components/map/components/features/.DS_Store +0 -0
  30. package/lib/components/map/components/features/settings/.DS_Store +0 -0
  31. package/lib/components/steppedProgressBar/SteppedProgressBar.js +59 -107
  32. package/lib/es/ChartTooltip.d.ts +5 -0
  33. package/lib/es/ChartTooltip.js +15 -0
  34. package/lib/es/Colors.js +1 -1
  35. package/lib/es/DeviceUtils.d.ts +5 -1
  36. package/lib/es/SubNavigation.d.ts +5 -0
  37. package/lib/es/SubNavigation.js +15 -0
  38. package/lib/es/VolkswagenApplicationHeader.d.ts +5 -0
  39. package/lib/es/VolkswagenApplicationHeader.js +15 -0
  40. package/lib/es/deviceUtils.js +24 -0
  41. package/lib/hooks/useClickOutside.js +2 -1
  42. package/lib/index.js +1 -1
  43. package/lib/style/css/_exports/rio-website.less +36 -22
  44. package/lib/style/css/_exports/vw-uikit.less +5 -1
  45. package/lib/style/css/components/ApplicationHeader.less +288 -257
  46. package/lib/style/css/components/ApplicationLayout.less +7 -5
  47. package/lib/style/css/components/AssetTree.less +3 -3
  48. package/lib/style/css/variables.less +1 -1
  49. package/lib/style/fonts/rioglyph/rioglyph.less +56 -1
  50. package/lib/style/fonts/rioglyph/rioglyph.svg +68 -2
  51. package/lib/style/fonts/rioglyph/rioglyph.ttf +0 -0
  52. package/lib/style/fonts/rioglyph/rioglyph.woff +0 -0
  53. package/lib/styles/animations/_imports.less +10 -0
  54. package/lib/styles/animations/collapse.less +16 -0
  55. package/lib/styles/animations/fade.less +28 -0
  56. package/lib/styles/animations/pinging.less +7 -0
  57. package/lib/styles/animations/pulsing.less +5 -0
  58. package/lib/styles/animations/rotate.less +52 -0
  59. package/lib/styles/animations/scale.less +35 -0
  60. package/lib/styles/animations/slide.less +39 -0
  61. package/lib/styles/animations/spinning.less +4 -0
  62. package/lib/styles/animations/transition.less +129 -0
  63. package/lib/styles/animations/translate.less +28 -0
  64. package/lib/styles/components/Activity.less +93 -0
  65. package/lib/styles/components/ApplicationHeader.less +469 -0
  66. package/lib/styles/components/ApplicationLayout.less +240 -0
  67. package/lib/styles/components/AssetTree.less +439 -0
  68. package/lib/styles/components/AutoSuggest.less +22 -0
  69. package/lib/styles/components/BottomSheet.less +14 -0
  70. package/lib/styles/components/Carousel.less +212 -0
  71. package/lib/styles/components/Checkbox.less +224 -0
  72. package/lib/styles/components/ClearableInput.less +115 -0
  73. package/lib/styles/components/Counter.less +142 -0
  74. package/lib/styles/components/DataTabs.less +100 -0
  75. package/lib/styles/components/DatePicker.less +391 -0
  76. package/lib/styles/components/Dialog.less +484 -0
  77. package/lib/styles/components/Dropdown.less +185 -0
  78. package/lib/styles/components/Expander.less +196 -0
  79. package/lib/styles/components/FilePicker.less +8 -0
  80. package/lib/styles/components/ListMenu.less +77 -0
  81. package/lib/styles/components/MapHere.less +91 -0
  82. package/lib/styles/components/MapMarker.less +347 -0
  83. package/lib/styles/components/MapSettings.less +140 -0
  84. package/lib/styles/components/NoData.less +8 -0
  85. package/lib/styles/components/Notification.less +234 -0
  86. package/lib/styles/components/RadioButton.less +173 -0
  87. package/lib/styles/components/Resizer.less +43 -0
  88. package/lib/styles/components/Select.less +287 -0
  89. package/lib/styles/components/Sidebar.less +157 -0
  90. package/lib/styles/components/Slider.less +278 -0
  91. package/lib/styles/components/Spinner.less +49 -0
  92. package/lib/styles/components/StatsWidget.less +111 -0
  93. package/lib/styles/components/SteppedProgressBar.less +310 -0
  94. package/lib/styles/components/SupportMarker.less +34 -0
  95. package/lib/styles/components/Switch.less +145 -0
  96. package/lib/styles/components/TableSettingsDialog.less +96 -0
  97. package/lib/styles/components/TableSortArrows.less +54 -0
  98. package/lib/styles/components/TableToolbar.less +121 -0
  99. package/lib/styles/components/Tag.less +246 -0
  100. package/lib/styles/components/TagManager.less +4 -0
  101. package/lib/styles/components/Teaser.less +12 -0
  102. package/lib/styles/components/Timeline.less +69 -0
  103. package/lib/styles/components/Tooltip.less +222 -0
  104. package/lib/styles/design/alerts.less +55 -0
  105. package/lib/styles/design/aspect-ratio.less +23 -0
  106. package/lib/styles/design/badges.less +120 -0
  107. package/lib/styles/design/blockquote.less +49 -0
  108. package/lib/styles/design/border.less +192 -0
  109. package/lib/styles/design/breadcrumbs.less +20 -0
  110. package/lib/styles/design/button-groups.less +194 -0
  111. package/lib/styles/design/buttons.less +543 -0
  112. package/lib/styles/design/callouts.less +27 -0
  113. package/lib/styles/design/caret.less +28 -0
  114. package/lib/styles/design/close.less +12 -0
  115. package/lib/styles/design/code.less +45 -0
  116. package/lib/styles/design/colors.less +202 -0
  117. package/lib/styles/design/cols.less +56 -0
  118. package/lib/styles/design/container.less +29 -0
  119. package/lib/styles/design/cursors.less +19 -0
  120. package/lib/styles/design/custom.less +20 -0
  121. package/lib/styles/design/ellipsis.less +46 -0
  122. package/lib/styles/design/flexgrid.less +7 -0
  123. package/lib/styles/design/fonts.less +458 -0
  124. package/lib/styles/design/form-input-groups.less +245 -0
  125. package/lib/styles/design/form-inputs.less +655 -0
  126. package/lib/styles/design/iframe.less +80 -0
  127. package/lib/styles/design/images.less +47 -0
  128. package/lib/styles/design/labels.less +66 -0
  129. package/lib/styles/design/list-group.less +100 -0
  130. package/lib/styles/design/navs.less +262 -0
  131. package/lib/styles/design/normalize.less +436 -0
  132. package/lib/styles/design/opacity.less +26 -0
  133. package/lib/styles/design/overflow.less +1 -0
  134. package/lib/styles/design/pagination.less +161 -0
  135. package/lib/styles/design/panels.less +105 -0
  136. package/lib/styles/design/popovers.less +119 -0
  137. package/lib/styles/design/position.less +16 -0
  138. package/lib/styles/design/progress-bars.less +131 -0
  139. package/lib/styles/design/responsive/_imports.less +67 -0
  140. package/lib/styles/design/responsive/backgrounds.less +32 -0
  141. package/lib/styles/design/responsive/display.less +9 -0
  142. package/lib/styles/design/responsive/flexgrid.less +75 -0
  143. package/lib/styles/design/responsive/floating.less +4 -0
  144. package/lib/styles/design/responsive/gap.less +41 -0
  145. package/lib/styles/design/responsive/margin.less +127 -0
  146. package/lib/styles/design/responsive/overflow.less +16 -0
  147. package/lib/styles/design/responsive/padding.less +71 -0
  148. package/lib/styles/design/responsive/position.less +103 -0
  149. package/lib/styles/design/responsive/sizing.less +96 -0
  150. package/lib/styles/design/responsive/text.less +71 -0
  151. package/lib/styles/design/responsive-embed.less +31 -0
  152. package/lib/styles/design/responsive-video.less +22 -0
  153. package/lib/styles/design/rioglyph.less +13 -0
  154. package/lib/styles/design/rounded.less +44 -0
  155. package/lib/styles/design/shadows.less +65 -0
  156. package/lib/styles/design/sizing.less +18 -0
  157. package/lib/styles/design/tables.less +855 -0
  158. package/lib/styles/design/text.less +201 -0
  159. package/lib/styles/design/theme.less +206 -0
  160. package/lib/styles/design/thumbnails.less +29 -0
  161. package/lib/styles/design/transition.less +33 -0
  162. package/lib/styles/design/type.less +159 -0
  163. package/lib/styles/design/utilities.less +75 -0
  164. package/lib/styles/design/visibility.less +186 -0
  165. package/lib/styles/design/wells.less +17 -0
  166. package/lib/styles/design/z-index.less +21 -0
  167. package/lib/styles/filter/_imports.less +1 -0
  168. package/lib/styles/filter/blur.less +17 -0
  169. package/lib/styles/mapping/breakpoint-map.less +44 -0
  170. package/lib/styles/mapping/color-map.less +200 -0
  171. package/lib/styles/mapping/cols-map.less +15 -0
  172. package/lib/styles/mapping/numbers-map.less +16 -0
  173. package/lib/styles/mapping/positions-map.less +21 -0
  174. package/lib/styles/mapping/sizes-map.less +129 -0
  175. package/lib/styles/mapping/spacings-map.less +28 -0
  176. package/lib/styles/mixins/_mixins.less +13 -0
  177. package/lib/styles/mixins/alerts.less +13 -0
  178. package/lib/styles/mixins/border-radius.less +16 -0
  179. package/lib/styles/mixins/buttons.less +117 -0
  180. package/lib/styles/mixins/clearfix.less +9 -0
  181. package/lib/styles/mixins/cols.less +59 -0
  182. package/lib/styles/mixins/forms.less +61 -0
  183. package/lib/styles/mixins/panels.less +27 -0
  184. package/lib/styles/mixins/placeholder.less +17 -0
  185. package/lib/styles/mixins/reset.less +27 -0
  186. package/lib/styles/mixins/sizings.less +21 -0
  187. package/lib/styles/mixins/spinner.less +30 -0
  188. package/lib/styles/mixins/table.less +26 -0
  189. package/lib/styles/mixins/tabs.less +4 -0
  190. package/lib/styles/mixins/text.less +5 -0
  191. package/lib/styles/print/print.less +163 -0
  192. package/lib/styles/rio-uikit-core.less +114 -0
  193. package/lib/styles/rio-uikit-print-utilities.less +16 -0
  194. package/lib/styles/rio-uikit-responsive-utilities.less +16 -0
  195. package/lib/styles/shared/colors.json +56 -0
  196. package/lib/styles/shared/colors.less +73 -0
  197. package/lib/styles/shared/screens.less +7 -0
  198. package/lib/styles/shared/text.less +23 -0
  199. package/lib/styles/variables.less +180 -0
  200. package/lib/themes/BuyButton/styles/rio-buyButton.less +183 -0
  201. package/lib/themes/MAN/styles/man-uikit.less +48 -0
  202. package/lib/themes/RIO/styles/rio-uikit.less +20 -0
  203. package/lib/themes/SCANIA/styles/scania-uikit.less +36 -0
  204. package/lib/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js +94 -0
  205. package/lib/themes/Volkswagen/components/applicationHeader/modulePropTypes.js +17 -0
  206. package/lib/themes/Volkswagen/styles/vw-uikit.less +205 -0
  207. package/lib/themes/Website/styles/rio-website.less +2236 -0
  208. package/lib/themes/Xmas/styles/rio-xmas.less +36 -0
  209. package/lib/types.ts +19 -11
  210. package/lib/utils/deviceUtils.js +9 -1
  211. package/lib/version.json +1 -1
  212. package/package.json +96 -95
@@ -0,0 +1,28 @@
1
+ // %
2
+ .translate-x-50pct-y-50pct { transform: translate(-50%, -50%) !important }
3
+ .translate-y-50pct { transform: translateY(-50%) !important }
4
+ .translate-y-100pct { transform: translateY(-100%) !important }
5
+ .translate-x-100pct-y-100pct { transform: translate(-100%, -100%) !important }
6
+ .translate-x50pct-y-50pct { transform: translate(50%, -50%) !important }
7
+ .translate-x100pct-y-100pct { transform: translate(100%, -100%) !important }
8
+ .translate-x50pct { transform: translateX(50%) !important }
9
+ .translate-x100pct { transform: translateX(100%) !important }
10
+ .translate-y50pct { transform: translateY(50%) !important }
11
+ .translate-y100pct { transform: translateY(100%) !important }
12
+ .translate-x-50pct-y50pct { transform: translate(-50%, 50%) !important }
13
+ .translate-x-100pct-y100pct { transform: translate(-100%, 100%) !important }
14
+ .translate-x50pct-y50pct { transform: translate(50%, 50%) !important }
15
+ .translate-x100pct-y100pct { transform: translate(100%, 100%) !important }
16
+ .translate-x-50pct { transform: translateX(-50%) !important }
17
+ .translate-x-100pct { transform: translateX(-100%) !important }
18
+
19
+ // PX
20
+ .translate-y10 { transform: translateY(10px) !important }
21
+ .translate-y-10 { transform: translateY(-10px) !important }
22
+
23
+ .hover-translate {
24
+ &-y-10 { &:hover { transform: translateY(-10px) !important } }
25
+ }
26
+
27
+ .transform-none { transform: none !important }
28
+ .hover-transform-none:hover { transform: none !important }
@@ -0,0 +1,93 @@
1
+ .activity {
2
+ align-items: center;
3
+ border-radius: @border-radius-round;
4
+ color: @color-white;
5
+ display: inline-flex;
6
+ font-weight: @font-normal;
7
+
8
+ + .activity {
9
+ margin-left: 5px;
10
+ }
11
+
12
+ .activity-icon {
13
+ border-radius: @border-radius-round;
14
+ font-size: 20px;
15
+ line-height: 1;
16
+ padding: 2px 3px 4px 3px;
17
+ }
18
+
19
+ .activity-text {
20
+ font-size: 14px;
21
+ padding: 0 8px 0 5px;
22
+ white-space: nowrap;
23
+ }
24
+
25
+ &.activity-available {
26
+ background: darken(@color-status-available, 5%);
27
+
28
+ .activity-icon {
29
+ background: @color-status-available;
30
+ }
31
+ }
32
+
33
+ &.activity-driving {
34
+ background: darken(@color-status-driving, 5%);
35
+
36
+ .activity-icon {
37
+ background: @color-status-driving;
38
+ }
39
+ }
40
+
41
+ &.activity-resting {
42
+ background: darken(@color-status-resting, 5%);
43
+
44
+ .activity-icon {
45
+ background: @color-status-resting;
46
+ }
47
+ }
48
+
49
+ &.activity-working {
50
+ background: darken(@color-status-working, 5%);
51
+
52
+ .activity-icon {
53
+ background: @color-status-working;
54
+ }
55
+ }
56
+
57
+ // sizes
58
+ &.activity-sm {
59
+ .activity-icon {
60
+ font-size: 16px;
61
+ padding: 2px 4px 2px 4px;
62
+ }
63
+
64
+ .activity-text {
65
+ font-size: 12px;
66
+ padding: 0 8px 0 5px;
67
+ }
68
+ }
69
+
70
+ &.activity-lg {
71
+ .activity-icon {
72
+ font-size: 24px;
73
+ padding: 3px 4px 5px 4px;
74
+ }
75
+
76
+ .activity-text {
77
+ font-size: 18px;
78
+ padding: 0 8px 0 5px;
79
+ }
80
+ }
81
+
82
+ &.activity-xl {
83
+ .activity-icon {
84
+ font-size: 30px;
85
+ padding: 4px 5px 6px 5px;
86
+ }
87
+
88
+ .activity-text {
89
+ font-size: 22px;
90
+ padding: 0 10px 0 7px;
91
+ }
92
+ }
93
+ }
@@ -0,0 +1,469 @@
1
+ .ApplicationHeader {
2
+ background-color: @color-white;
3
+ border: none;
4
+ display: flex;
5
+ float: none !important;
6
+ margin-bottom: 0;
7
+ min-height: @navbar-height;
8
+ position: relative;
9
+
10
+ &:before {
11
+ content: '';
12
+ position: absolute;
13
+ left: 0;
14
+ right: 0;
15
+ bottom: 0;
16
+ height: 1px;
17
+ background-color:@gray-light;
18
+ z-index: 1;
19
+ }
20
+
21
+ &.mobile {
22
+ display: inline-flex;
23
+ justify-content: space-between;
24
+ position: absolute;
25
+ top: 0;
26
+ width: 100%;
27
+
28
+ > .ModuleNavigation {
29
+ flex: 1 1 auto;
30
+
31
+ > .dropdown {
32
+ width: calc(~"100vw - 100px");
33
+ }
34
+ }
35
+
36
+ .SubmoduleNavigation {
37
+ justify-content: flex-end;
38
+
39
+ &:not(.navbar-right) {
40
+ > li {
41
+ &:empty + .submodule,
42
+ &:first-child:not(:empty) {
43
+ margin-left: 0;
44
+ }
45
+ }
46
+ }
47
+ }
48
+
49
+ .CollapsedDropdown > .dropdown-menu {
50
+ > .ApplicationActionBar {
51
+ background-color: @gray-lightest;
52
+ //border-bottom: 1px solid @gray-lighter;
53
+ border-top: 1px solid @gray-lighter;
54
+ justify-content: flex-end;
55
+ position: relative;
56
+ width: 100%;
57
+
58
+ .ActionBarItemIcon .badge {
59
+ border-color: @gray-lightest;
60
+ }
61
+ }
62
+ }
63
+
64
+ .ApplicationActionBar {
65
+ > .navigationItem {
66
+ > .ActionBarItem {
67
+ width: 40px;
68
+ }
69
+ }
70
+ }
71
+
72
+ .navbar-brand:after {
73
+ display: none;
74
+ }
75
+ }
76
+
77
+ // For mobile, hide all submodule navItems that are not active
78
+ // so only the current active item is shown in the header
79
+ .MobileSubmoduleNavigation a:not(.active) {
80
+ display: none;
81
+ }
82
+
83
+ .navbar-brand {
84
+ background-color: transparent !important;
85
+ background-image: @navbar-brand-icon !important;
86
+ background-size: cover;
87
+ display: block;
88
+ height: @navbar-height;
89
+ margin: 0;
90
+ padding: 0;
91
+ position: relative;
92
+ width: @navbar-height;
93
+
94
+ &:after {
95
+ background: @color-black;
96
+ bottom: 0;
97
+ content: '';
98
+ display: block;
99
+ height: 1px;
100
+ left: 0;
101
+ position: absolute;
102
+ right: 0;
103
+ z-index: @zindex-navbar + 2;
104
+ }
105
+
106
+ &.home-icon {
107
+ background-image: @navbar-brand-home-icon !important;
108
+ }
109
+
110
+ > a,
111
+ > .icon {
112
+ display: block;
113
+ height: @navbar-height;
114
+ width: @navbar-height;
115
+ }
116
+ }
117
+
118
+ .ApplicationActionBar {
119
+ background-color: @color-white;
120
+ cursor: auto;
121
+ display: flex;
122
+
123
+ // position: absolute;
124
+ // right: 0;
125
+ // top: 0;
126
+
127
+ > .navigationItem {
128
+ align-items: center;
129
+ color: @gray-dark;
130
+ cursor: pointer;
131
+ display: flex;
132
+ fill: @gray-dark;
133
+ height: @navbar-height-without-border;
134
+ justify-content: center;
135
+ position: relative;
136
+ //text-align: center;
137
+
138
+ &:hover .icon {
139
+ color: @gray-darker;
140
+ fill: @gray-darker;
141
+ }
142
+
143
+ > .ActionBarItem {
144
+ height: @navbar-height-without-border;
145
+ position: relative;
146
+ width: @navbar-height;
147
+ background: transparent !important;
148
+ padding: 0;
149
+
150
+ .ActionBarItemIcon {
151
+ align-items: center;
152
+ display: flex;
153
+ height: 100%;
154
+ justify-content: center;
155
+ text-align: center;
156
+ width: 100%;
157
+
158
+ > a {
159
+ color: inherit;
160
+ text-decoration: none;
161
+ }
162
+
163
+ .icon {
164
+ fill: inherit;
165
+ font-size: 26px;
166
+ width: 26px;
167
+ }
168
+ }
169
+
170
+ // Enforce style for position of popover and it's arrow
171
+ // since some value will be set a element style from react-bootstrap
172
+ .popover {
173
+ cursor: initial;
174
+
175
+ &.bottom:not(.position-offscreen) {
176
+ left: 47px !important;
177
+ top: 44px !important;
178
+ transform: translateX(-100%);
179
+ width: 250px;
180
+
181
+ > .arrow {
182
+ left: calc(~'100% - 10px') !important;
183
+ margin-left: 0;
184
+ transform: translateX(-100%);
185
+ }
186
+ }
187
+ }
188
+ }
189
+ }
190
+ }
191
+ }
192
+
193
+ .ActionBarItemList {
194
+ margin: 0;
195
+ padding: 0;
196
+
197
+ &Item {
198
+ display: flex;
199
+ align-items: flex-start;
200
+ gap: 8px;
201
+ padding-top: 5px;
202
+ padding-bottom: 5px;
203
+
204
+ &Icon {
205
+ margin-top: 2px;
206
+ color: @gray-dark;
207
+ font-size: 16px;
208
+ }
209
+
210
+ &Button {
211
+ .btn;
212
+ .btn-link;
213
+ .btn-multiline;
214
+ text-align: left;
215
+ padding: 0;
216
+ height: auto;
217
+
218
+ &:hover {
219
+ text-decoration: underline;
220
+ }
221
+ }
222
+ }
223
+
224
+ &Separator {
225
+ margin-top: 5px;
226
+ margin-bottom: 5px;
227
+ }
228
+ }
229
+
230
+ .ModuleNavigation {
231
+ height: @navbar-height;
232
+ line-height: @navbar-height;
233
+ list-style: none;
234
+ margin-bottom: 0;
235
+ padding-left: 0;
236
+ position: relative;
237
+
238
+ // avoid floating content on mobile
239
+ max-width: calc(~'100% - @{navbar-height}');
240
+
241
+ // NOTE: enforce it with important so all services look similar
242
+ background-color: @color-white !important;
243
+ color: @color-black !important;
244
+
245
+ .dropdown {
246
+ width: 300px;
247
+
248
+ &.open {
249
+ background-color: inherit;
250
+ z-index: 1;
251
+
252
+ .ModuleNavigation-dropdown,
253
+ .dropdown-toggle {
254
+ &:after {
255
+ bottom: 0;
256
+ top: 0;
257
+ }
258
+ }
259
+ }
260
+ }
261
+
262
+ .ModuleNavigation-dropdown,
263
+ .dropdown-toggle {
264
+ align-items: center;
265
+ display: flex;
266
+ padding: 0;
267
+
268
+ &.inactive {
269
+ pointer-events: none;
270
+ }
271
+
272
+ // Style the separator between main dropdown and submodules
273
+ &:after {
274
+ background-color: @gray-lighter;
275
+ bottom: 15px;
276
+ content: '';
277
+ display: block;
278
+ position: absolute;
279
+ right: 0;
280
+ top: 15px;
281
+ transition: all 0.1s ease-in-out;
282
+ width: 3px;
283
+ }
284
+
285
+ &:first-child:not(:last-child) {
286
+ &:hover:after {
287
+ bottom: 0;
288
+ top: 0;
289
+ }
290
+ }
291
+
292
+ > span {
293
+ &:not(.caret) {
294
+ .ellipsis-1;
295
+ flex: 1 0 auto;
296
+ //max-width: @navbar-application-dropdown-width - @navbar-height;
297
+ padding-left: @navbar-padding-horizontal;
298
+ }
299
+
300
+ &.caret {
301
+ margin: 0;
302
+ text-align: center;
303
+ width: @navbar-height;
304
+ }
305
+ }
306
+ }
307
+
308
+ // Style for the main dropdown
309
+ > li > a,
310
+ > a {
311
+ background-color: transparent;
312
+ color: inherit;
313
+ font-size: 18px;
314
+ font-weight: @font-medium;
315
+ text-decoration: none;
316
+ text-transform: uppercase;
317
+ }
318
+
319
+ .dropdown-menu {
320
+ -webkit-overflow-scrolling: touch;
321
+ border: none;
322
+ border-radius: 0 0 @border-radius-default @border-radius-default;
323
+ max-height: ~'calc(100vh - @{navbar-height} - 20px)'; // --vh fallback
324
+ max-height: ~'calc(var(--vh, 1vh) * 100 - @{navbar-height} - 20px)';
325
+ max-width: calc(~'100% - 3px');
326
+ width: 100%;
327
+ overflow-x: hidden;
328
+ overflow-y: auto;
329
+
330
+ > li > a {
331
+ color: @color-black;
332
+ font-size: 14px;
333
+ font-weight: @font-medium;
334
+ padding: 5px @navbar-padding-horizontal;
335
+ text-transform: uppercase;
336
+
337
+ &.inactive {
338
+ pointer-events: none;
339
+ }
340
+ }
341
+ }
342
+
343
+ &.hasModules,
344
+ &.hasModules > li > a {
345
+ cursor: pointer;
346
+ }
347
+
348
+ > li > a {
349
+ .ellipsis-1;
350
+ cursor: default;
351
+ height: 100%;
352
+ padding-left: @navbar-padding-horizontal;
353
+ }
354
+ }
355
+
356
+ .SubmoduleNavigation {
357
+ max-height: @navbar-height;
358
+ display: flex;
359
+ flex: 1 1 0;
360
+
361
+ .ApplicationLayoutBodyNavigation & {
362
+ border-bottom: none;
363
+
364
+ .submodule:first-of-type > a {
365
+ margin-left: 0;
366
+ }
367
+
368
+ @media (max-width: @screen-xs-max) {
369
+ padding-left: @ApplicationLayoutBodyPadding*0.5;
370
+ }
371
+
372
+ @media (min-width: @screen-ls) {
373
+ padding-left: @ApplicationLayoutBodyPadding;
374
+ }
375
+ }
376
+
377
+ .ApplicationLayoutBodyNavigation.has-offset & {
378
+ @media (min-width: @screen-ls) {
379
+ padding-left: 380px;
380
+ }
381
+ }
382
+
383
+ .ApplicationHeader:not(.mobile) & {
384
+ padding-left: 15px;
385
+ }
386
+
387
+ > .submodule {
388
+ white-space: nowrap;
389
+
390
+ &:empty {
391
+ display: none;
392
+ }
393
+
394
+ > a {
395
+ background-color: transparent;
396
+ color: @gray;
397
+ cursor: pointer;
398
+ font-size: 14px;
399
+ margin: 0 15px;
400
+ padding: 15px 0;
401
+ transition: all 100ms ease-in-out;
402
+ user-select: none;
403
+
404
+ .ApplicationHeader & {
405
+ font-weight: @font-medium;
406
+ text-transform: uppercase;
407
+ }
408
+ }
409
+
410
+ &.disabled,
411
+ &:disabled {
412
+ > a {
413
+ color: @gray-light
414
+ }
415
+ }
416
+
417
+ &:not(.disabled):not(:disabled) {
418
+ > a.active,
419
+ &.active > a,
420
+ &:focus > a,
421
+ &:hover > a {
422
+ &:not(.disabled):not(:disabled) {
423
+ background-color: transparent;
424
+ box-shadow: inset 0 -4px 0 @color-black, 0 0px 0 @color-black;
425
+ color: @color-black;
426
+
427
+ &:after {
428
+ background-color: @color-black;
429
+ height: 3px;
430
+ width: 100%;
431
+ z-index: 1;
432
+ }
433
+ }
434
+ }
435
+ }
436
+
437
+ &.dropdown {
438
+ &.active > a,
439
+ &:hover > a {
440
+ box-shadow: none;
441
+ }
442
+
443
+ > .dropdown-menu {
444
+ border: none;
445
+ }
446
+ }
447
+
448
+ &.offscreen {
449
+ opacity: 0.4;
450
+ position: absolute;
451
+ }
452
+ }
453
+
454
+ .CollapsedDropdown {
455
+ > .dropdown-menu {
456
+ left: auto;
457
+ right: 0;
458
+ }
459
+
460
+ > .dropdown-toggle {
461
+ margin: 0 !important;
462
+ padding: 15px 15px !important;
463
+
464
+ .rioglyph-option-horizontal {
465
+ font-size: 18px;
466
+ }
467
+ }
468
+ }
469
+ }