PluginProbe
Responsive Menu – Create Mobile-Friendly Menu / 3.0.3
Responsive Menu – Create Mobile-Friendly Menu v3.0.3
4.7.3 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 All 90 releases
responsive-menu / src / app / Mappers / ScssBaseMapper.php

ScssBaseMapper.php in Responsive Menu – Create Mobile-Friendly Menu 3.0.3, at src/app/Mappers/ScssBaseMapper.php

236 lines 5.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace ResponsiveMenu\Mappers;
4
5 class ScssBaseMapper extends ScssMapper
6 {
7
8 public function map()
9 {
10
11 $css = <<<CSS
12
13 #responsive-menu-button,
14 #responsive-menu-container,
15 #responsive-menu-header {
16 display: none;
17 }
18
19 @media screen and (max-width: {$this->options['breakpoint']}px) {
20
21 #responsive-menu-container,
22 #responsive-menu-header {
23 display: block;
24 }
25
26 #responsive-menu-container {
27 position: fixed;
28 top: 0;
29 bottom: 0;
30 z-index: 9998;
31 /* Fix for scroll bars appearing when not needed */
32 padding-bottom: 5px;
33 margin-bottom: -5px;
34 overflow-y: auto;
35 overflow-x: hidden;
36 .responsive-menu-search-box {
37 width: 100%;
38 padding: 0 2%;
39 border-radius: 2px;
40 border: 2px solid #dadada;
41 height: 50px;
42 background: white;
43 }
44
45 &.push-left,
46 &.slide-left {
47 transform: translateX(-100%);
48 -ms-transform: translateX(-100%);
49 -webkit-transform: translateX(-100%);
50 -moz-transform: translateX(-100%);
51 .responsive-menu-open & {
52 transform: translateX(0);
53 -ms-transform: translateX(0);
54 -webkit-transform: translateX(0);
55 -moz-transform: translateX(0);
56 }
57 }
58
59 &.push-top,
60 &.slide-top {
61 transform: translateY(-100%);
62 -ms-transform: translateY(-100%);
63 -webkit-transform: translateY(-100%);
64 -moz-transform: translateY(-100%);
65 .responsive-menu-open & {
66 transform: translateY(0);
67 -ms-transform: translateY(0);
68 -webkit-transform: translateY(0);
69 -moz-transform: translateY(0);
70 }
71 }
72
73 &.push-right,
74 &.slide-right {
75 transform: translateX(100%);
76 -ms-transform: translateX(100%);
77 -webkit-transform: translateX(100%);
78 -moz-transform: translateX(100%);
79 .responsive-menu-open & {
80 transform: translateX(0);
81 -ms-transform: translateX(0);
82 -webkit-transform: translateX(0);
83 -moz-transform: translateX(0);
84 }
85 }
86
87 &.push-bottom,
88 &.slide-bottom {
89 transform: translateY(100%);
90 -ms-transform: translateY(100%);
91 -webkit-transform: translateY(100%);
92 -moz-transform: translateY(100%);
93 .responsive-menu-open & {
94 transform: translateY(0);
95 -ms-transform: translateY(0);
96 -webkit-transform: translateY(0);
97 -moz-transform: translateY(0);
98 }
99 }
100
101 // Reset Styles for all our elements
102 &, &:before, &:after, & *, & *:before, & *:after {
103 box-sizing: border-box;
104 margin: 0;
105 padding: 0;
106 }
107
108 #responsive-menu-search-box,
109 #responsive-menu-additional-content,
110 #responsive-menu-title {
111 padding: 25px 5%;
112 }
113
114 #responsive-menu {
115 &, ul {
116 width: 100%;
117 }
118 & ul.responsive-menu-submenu {
119 display: none;
120 &.responsive-menu-submenu-open {
121 display: block;
122 }
123 }
124 @for \$i from 1 through 6 {
125 & ul.responsive-menu-submenu-depth-#{\$i}
126 a.responsive-menu-item-link {
127 padding-left: 5% + (5% * \$i);
128 }
129 }
130
131 }
132
133 li.responsive-menu-item {
134 width: 100%;
135 list-style: none;
136 a {
137 width: 100%;
138 display: block;
139 margin-top: -1px; // Fix double borders with menu link above
140 text-decoration: none;
141 padding: 0 5%;
142 position: relative;
143 .fa {
144 margin-right: 15px;
145 }
146 .responsive-menu-subarrow {
147 position: absolute;
148 right: 0;
149 top: 0;
150 bottom: 0;
151 text-align: center;
152 overflow: hidden;
153 .fa {
154 margin-right: 0;
155 }
156 }
157 }
158 }
159 }
160
161 .responsive-menu-button {
162 .responsive-menu-button-icon-inactive {
163 display: none;
164 }
165 }
166
167 #responsive-menu-button {
168 z-index: 9999;
169 display: none;
170 overflow: hidden;
171 img {
172 max-width: 100%;
173 }
174 }
175
176 .responsive-menu-label {
177 display: inline-block;
178 font-weight: 600;
179 margin: 0 5px;
180 vertical-align: middle;
181 }
182
183 .responsive-menu-accessible {
184 display: inline-block;
185 }
186
187 .responsive-menu-accessible .responsive-menu-box {
188 display: inline-block;
189 vertical-align: middle;
190 }
191
192 .responsive-menu-label.responsive-menu-label-top,
193 .responsive-menu-label.responsive-menu-label-bottom
194 {
195 display: block;
196 margin: 10px auto;
197 }
198
199 #responsive-menu-header {
200 width: 100%;
201 padding: 0 5%;
202 box-sizing: border-box;
203 top: 0;
204 right: 0;
205 left: 0;
206 display: none;
207 .responsive-menu-header-box {
208 display: inline-block;
209 &, & img {
210 vertical-align: middle;
211 max-width: 100%;
212 }
213 &:last-child {
214 float: right;
215 margin-right: 0;
216 }
217 }
218 #responsive-menu-button {
219 position: relative;
220 margin: 0;
221 left: auto;
222 right: auto;
223 bottom: auto;
224 }
225 .responsive-menu-header-box {
226 margin-right: 2%;
227 }
228 }
229 }
230 CSS;
231
232 return $this->compiler->compile($css);
233 }
234
235 }
236