|
1 | | -@import "common/foundation/variables"; |
2 | | - |
3 | | -$menu-background: null !default; |
4 | | -$menu-item-color: null !default; |
5 | | -$menu-item-active-background: null !default; |
6 | | -$menu-item-active-color: null !default; |
7 | | -$submenu-background: null !default; |
8 | | -$submenu-item-color: null !default; |
9 | | -$submenu-item-hover-background: null !default; |
10 | | -$submenu-item-hover-color: null !default; |
11 | | -$divider-color: null !default; |
12 | | - |
13 | | -@if $Menu_background != "" { |
14 | | - $menu-background: #{$Menu_background}; |
15 | | -} @else { |
16 | | - $menu-background: $primary; |
17 | | -} |
18 | | - |
19 | | -@if $Menu_item_color != "" { |
20 | | - $menu-item-color: #{$Menu_item_color}; |
21 | | -} @else { |
22 | | - $menu-item-color: $secondary; |
23 | | -} |
24 | | - |
25 | | -@if $Menu_item-active_background != "" { |
26 | | - $menu-item-active-background: #{$Menu_item_active_background}; |
27 | | -} @else { |
28 | | - $menu-item-active-background: $primary-low; |
29 | | -} |
30 | | - |
31 | | -@if $Menu_item_active_color != "" { |
32 | | - $menu-item-active-color: #{$Menu_item_active_color}; |
33 | | -} @else { |
34 | | - $menu-item-active-color: $primary; |
35 | | -} |
36 | | - |
37 | | -@if $Submenu_background != "" { |
38 | | - $submenu-background: #{$Submenu_background}; |
39 | | -} @else { |
40 | | - $submenu-background: $secondary; |
41 | | -} |
42 | | - |
43 | | -@if $Submenu_item_color != "" { |
44 | | - $submenu-item-color: #{$Submenu_item_color}; |
45 | | -} @else { |
46 | | - $submenu-item-color: $primary; |
47 | | -} |
48 | | - |
49 | | -@if $Submenu_item_hover_background != "" { |
50 | | - $submenu-item-hover-background: #{$Submenu_item_hover_background}; |
51 | | -} @else { |
52 | | - $submenu-item-hover-background: $tertiary-low; |
53 | | -} |
54 | | - |
55 | | -@if $Submenu_item_hover_color != "" { |
56 | | - $submenu-item-hover-color: #{$Submenu_item_hover_color}; |
57 | | -} @else { |
58 | | - $submenu-item-hover-color: $primary; |
| 1 | +@function fallback($setting, $color) { |
| 2 | + @if not $setting or $setting == "" { |
| 3 | + @return $color; |
| 4 | + } @else { |
| 5 | + @return $setting; |
| 6 | + } |
59 | 7 | } |
60 | 8 |
|
61 | | -@if $Divider_color != "" { |
62 | | - $divider-color: #{$Divider_color}; |
63 | | -} @else { |
64 | | - $divider-color: $primary-low; |
65 | | -} |
| 9 | +$item-height: 40px; |
| 10 | +$icon-opacity: 0.7; |
66 | 11 |
|
67 | 12 | .top-menu { |
68 | | - background: $menu-background; |
| 13 | + background: fallback($Menu_background, $primary); |
| 14 | + width: 100%; |
69 | 15 |
|
70 | | - .wrap { |
| 16 | + .menu-content { |
71 | 17 | display: flex; |
72 | 18 | align-items: center; |
| 19 | + justify-content: if($Invert_position == "true", flex-end, flex-start); |
| 20 | + } |
73 | 21 |
|
74 | | - @if $Invert_position == "true" { |
75 | | - justify-content: flex-end; |
76 | | - } |
| 22 | + .menu-items { |
| 23 | + display: flex; |
| 24 | + height: $item-height; |
77 | 25 | } |
78 | 26 |
|
79 | | - .wrap > a { |
80 | | - color: $menu-item-color; |
| 27 | + .menu-item { |
| 28 | + position: relative; |
| 29 | + color: fallback($Menu_item_color, $secondary); |
81 | 30 | border: none; |
82 | | - padding: 10px 12px; |
| 31 | + padding: 0 0.5em; |
83 | 32 | font-size: $font-up-1; |
84 | | - line-height: $line-height-medium; |
85 | 33 | transition: all 0.15s; |
86 | 34 | display: flex; |
87 | 35 | align-items: center; |
88 | | - white-space: nowrap; |
89 | 36 |
|
90 | | - &:first-of-type { |
91 | | - margin-left: -12px; |
92 | | - } |
93 | | - |
94 | | - .rtl & { |
95 | | - &:first-of-type { |
96 | | - margin-right: -12px; |
| 37 | + &:hover, |
| 38 | + &:active, |
| 39 | + &:focus { |
| 40 | + background: fallback($Menu_item-active_background, $primary-low); |
| 41 | + color: fallback($Menu-item-active-background, $primary); |
| 42 | + cursor: default; |
| 43 | + .d-icon-caret-right { |
| 44 | + transform: rotate(90deg); |
| 45 | + } |
| 46 | + .d-header-dropdown { |
| 47 | + display: block; |
| 48 | + top: $item-height; |
| 49 | + left: 0; |
| 50 | + z-index: z("header") + 1; |
| 51 | + |
| 52 | + .rtl & { |
| 53 | + left: unset; |
| 54 | + right: 0; |
| 55 | + } |
97 | 56 | } |
98 | 57 | } |
99 | 58 |
|
100 | | - &.d-dropdown-open { |
101 | | - background: $menu-item-active-background; |
102 | | - color: $menu-item-active-color; |
103 | | - z-index: z("header") + 2; |
104 | | - } |
105 | | - } |
106 | | - |
107 | | - .d-icon { |
108 | | - margin-right: 5px; |
109 | | - opacity: 0.7; |
110 | | - min-width: 16px; |
111 | | - text-align: center; |
112 | | - |
113 | | - &.fa-none { |
114 | | - min-width: unset; |
115 | | - } |
116 | | - |
117 | | - .rtl & { |
118 | | - margin-right: 0; |
119 | | - margin-left: 5px; |
120 | | - } |
121 | | - } |
122 | | - |
123 | | - .d-icon-caret-down { |
124 | | - transform: rotate(-90deg); |
125 | | - transition: transform ease 0.15s; |
| 59 | + .d-icon-caret-right { |
| 60 | + margin-left: 0.25em; |
| 61 | + transition: transform 0.15s ease-in-out; |
126 | 62 |
|
127 | | - .rtl & { |
128 | | - transform: rotate(90deg); |
| 63 | + .rtl & { |
| 64 | + margin-left: 0em; |
| 65 | + margin-right: 0.25em; |
| 66 | + } |
129 | 67 | } |
130 | 68 | } |
131 | 69 |
|
132 | | - .d-dropdown-open .d-icon-caret-down { |
133 | | - transform: rotate(0); |
| 70 | + .d-header-dropdown { |
| 71 | + position: absolute; |
| 72 | + display: none; |
134 | 73 | } |
135 | | -} |
136 | | - |
137 | | -.d-dropdown { |
138 | | - position: absolute; |
139 | | - z-index: z("header") + 1; |
140 | | - display: none; |
141 | 74 |
|
142 | 75 | .d-dropdown-menu { |
143 | 76 | min-width: 160px; |
144 | | - max-width: 360px; |
145 | | - list-style: none; |
146 | | - background: $submenu-background; |
| 77 | + background: fallback($Submenu_background, $secondary); |
147 | 78 | box-shadow: shadow("menu-panel"); |
148 | | - overflow: visible; |
149 | | - padding: 4px 0; |
150 | 79 | margin: 0; |
151 | | - } |
152 | | - |
153 | | - .d-dropdown-menu li { |
154 | 80 | list-style: none; |
155 | | - padding: 0 0; |
156 | | - margin: 0; |
157 | | - line-height: 18px; |
158 | 81 | } |
159 | 82 |
|
160 | | - .d-dropdown-menu li > a { |
| 83 | + .submenu-link { |
161 | 84 | display: flex; |
162 | 85 | align-items: center; |
163 | | - color: $submenu-item-color; |
164 | | - text-decoration: none; |
165 | | - line-height: 18px; |
166 | | - padding: 3px 15px; |
167 | | - margin: 0; |
| 86 | + color: fallback($Submenu_item_color, $primary); |
| 87 | + padding: 0.5em; |
| 88 | + font-size: $font-down-1; |
168 | 89 | white-space: nowrap; |
169 | 90 |
|
170 | 91 | &:hover { |
171 | | - background-color: $submenu-item-hover-background; |
172 | | - color: inherit; |
173 | | - cursor: pointer; |
| 92 | + color: fallback($Submenu_item_hover_color, $primary); |
| 93 | + background-color: fallback($Submenu_item_hover_background, $tertiary-low); |
174 | 94 | } |
175 | 95 | } |
176 | 96 |
|
177 | | - .d-dropdown-menu .divider { |
178 | | - font-size: 1px; |
179 | | - border-top: solid 1px $divider-color; |
180 | | - padding: 0; |
181 | | - margin: 5px 0; |
| 97 | + .divider { |
| 98 | + border-top: solid 1px fallback($Divider_color, $primary-low); |
| 99 | + margin: 0.25em auto; |
| 100 | + } |
| 101 | + |
| 102 | + .d-icon { |
| 103 | + opacity: $icon-opacity; |
| 104 | + min-width: 1em; |
| 105 | + &:not(.d-icon-caret-right) { |
| 106 | + margin-right: 0.5em; |
| 107 | + |
| 108 | + .rtl & { |
| 109 | + margin-right: 0; |
| 110 | + margin-left: 0.5em; |
| 111 | + } |
| 112 | + } |
182 | 113 | } |
183 | 114 | } |
0 commit comments