PluginProbe
Responsive Menu – Create Mobile-Friendly Menu / 3.0.8
Responsive Menu – Create Mobile-Friendly Menu v3.0.8
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.8, at src/app/Mappers/ScssBaseMapper.php

203 lines 5.0 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 display: none;
16 }
17
18 @media screen and (max-width: {$this->options['breakpoint']}px) {
19
20 #responsive-menu-container {
21 display: block;
22 }
23
24 #responsive-menu-container {
25 position: fixed;
26 top: 0;
27 bottom: 0;
28 z-index: 99998;
29 /* Fix for scroll bars appearing when not needed */
30 padding-bottom: 5px;
31 margin-bottom: -5px;
32 overflow-y: auto;
33 overflow-x: hidden;
34 .responsive-menu-search-box {
35 width: 100%;
36 padding: 0 2%;
37 border-radius: 2px;
38 height: 50px;
39 -webkit-appearance: none;
40 }
41
42 &.push-left,
43 &.slide-left {
44 transform: translateX(-100%);
45 -ms-transform: translateX(-100%);
46 -webkit-transform: translateX(-100%);
47 -moz-transform: translateX(-100%);
48 .responsive-menu-open & {
49 transform: translateX(0);
50 -ms-transform: translateX(0);
51 -webkit-transform: translateX(0);
52 -moz-transform: translateX(0);
53 }
54 }
55
56 &.push-top,
57 &.slide-top {
58 transform: translateY(-100%);
59 -ms-transform: translateY(-100%);
60 -webkit-transform: translateY(-100%);
61 -moz-transform: translateY(-100%);
62 .responsive-menu-open & {
63 transform: translateY(0);
64 -ms-transform: translateY(0);
65 -webkit-transform: translateY(0);
66 -moz-transform: translateY(0);
67 }
68 }
69
70 &.push-right,
71 &.slide-right {
72 transform: translateX(100%);
73 -ms-transform: translateX(100%);
74 -webkit-transform: translateX(100%);
75 -moz-transform: translateX(100%);
76 .responsive-menu-open & {
77 transform: translateX(0);
78 -ms-transform: translateX(0);
79 -webkit-transform: translateX(0);
80 -moz-transform: translateX(0);
81 }
82 }
83
84 &.push-bottom,
85 &.slide-bottom {
86 transform: translateY(100%);
87 -ms-transform: translateY(100%);
88 -webkit-transform: translateY(100%);
89 -moz-transform: translateY(100%);
90 .responsive-menu-open & {
91 transform: translateY(0);
92 -ms-transform: translateY(0);
93 -webkit-transform: translateY(0);
94 -moz-transform: translateY(0);
95 }
96 }
97
98 // Reset Styles for all our elements
99 &, &:before, &:after, & *, & *:before, & *:after {
100 box-sizing: border-box;
101 margin: 0;
102 padding: 0;
103 }
104
105 #responsive-menu-search-box,
106 #responsive-menu-additional-content,
107 #responsive-menu-title {
108 padding: 25px 5%;
109 }
110
111 #responsive-menu {
112 &, ul {
113 width: 100%;
114 }
115 & ul.responsive-menu-submenu {
116 display: none;
117 &.responsive-menu-submenu-open {
118 display: block;
119 }
120 }
121 @for \$i from 1 through 6 {
122 & ul.responsive-menu-submenu-depth-#{\$i}
123 a.responsive-menu-item-link {
124 padding-left: 5% + (5% * \$i);
125 }
126 }
127
128 }
129
130 li.responsive-menu-item {
131 width: 100%;
132 list-style: none;
133 a {
134 width: 100%;
135 display: block;
136 margin-top: -1px; // Fix double borders with menu link above
137 text-decoration: none;
138 padding: 0 5%;
139 position: relative;
140 .fa {
141 margin-right: 15px;
142 }
143 .responsive-menu-subarrow {
144 position: absolute;
145 right: 0;
146 top: 0;
147 bottom: 0;
148 text-align: center;
149 overflow: hidden;
150 .fa {
151 margin-right: 0;
152 }
153 }
154 }
155 }
156 }
157
158 .responsive-menu-button {
159 .responsive-menu-button-icon-inactive {
160 display: none;
161 }
162 }
163
164 #responsive-menu-button {
165 z-index: 99999;
166 display: none;
167 overflow: hidden;
168 img {
169 max-width: 100%;
170 }
171 }
172
173 .responsive-menu-label {
174 display: inline-block;
175 font-weight: 600;
176 margin: 0 5px;
177 vertical-align: middle;
178 }
179
180 .responsive-menu-accessible {
181 display: inline-block;
182 }
183
184 .responsive-menu-accessible .responsive-menu-box {
185 display: inline-block;
186 vertical-align: middle;
187 }
188
189 .responsive-menu-label.responsive-menu-label-top,
190 .responsive-menu-label.responsive-menu-label-bottom
191 {
192 display: block;
193 margin: 0 auto;
194 }
195
196 }
197 CSS;
198
199 return $this->compiler->compile($css);
200 }
201
202 }
203