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

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