catscope 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/assets/bower.json +1 -0
  3. data/assets/bower_components/foundation/LICENSE +22 -0
  4. data/assets/bower_components/foundation/README.md +46 -0
  5. data/assets/bower_components/foundation/bower.json +2 -4
  6. data/assets/bower_components/foundation/css/foundation.css +1695 -1230
  7. data/assets/bower_components/foundation/css/foundation.css.map +1 -1
  8. data/assets/bower_components/foundation/css/foundation.min.css +1 -0
  9. data/assets/bower_components/foundation/css/normalize.css +9 -12
  10. data/assets/bower_components/foundation/css/normalize.css.map +1 -1
  11. data/assets/bower_components/foundation/css/normalize.min.css +1 -0
  12. data/assets/bower_components/foundation/js/foundation/foundation.abide.js +171 -75
  13. data/assets/bower_components/foundation/js/foundation/foundation.accordion.js +70 -12
  14. data/assets/bower_components/foundation/js/foundation/foundation.alert.js +5 -5
  15. data/assets/bower_components/foundation/js/foundation/foundation.clearing.js +84 -40
  16. data/assets/bower_components/foundation/js/foundation/foundation.dropdown.js +104 -79
  17. data/assets/bower_components/foundation/js/foundation/foundation.equalizer.js +57 -26
  18. data/assets/bower_components/foundation/js/foundation/foundation.interchange.js +50 -38
  19. data/assets/bower_components/foundation/js/foundation/foundation.joyride.js +121 -110
  20. data/assets/bower_components/foundation/js/foundation/foundation.js +121 -79
  21. data/assets/bower_components/foundation/js/foundation/foundation.magellan.js +75 -59
  22. data/assets/bower_components/foundation/js/foundation/foundation.offcanvas.js +95 -22
  23. data/assets/bower_components/foundation/js/foundation/foundation.orbit.js +127 -123
  24. data/assets/bower_components/foundation/js/foundation/foundation.reveal.js +147 -69
  25. data/assets/bower_components/foundation/js/foundation/foundation.slider.js +101 -72
  26. data/assets/bower_components/foundation/js/foundation/foundation.tab.js +52 -39
  27. data/assets/bower_components/foundation/js/foundation/foundation.tooltip.js +97 -49
  28. data/assets/bower_components/foundation/js/foundation/foundation.topbar.js +70 -57
  29. data/assets/bower_components/foundation/js/foundation.js +1544 -951
  30. data/assets/bower_components/foundation/js/foundation.min.js +5 -4
  31. data/assets/bower_components/foundation/js/vendor/fastclick.js +8 -9
  32. data/assets/bower_components/foundation/js/vendor/jquery.js +6 -6
  33. data/assets/bower_components/foundation/js/vendor/modernizr.js +1 -1
  34. data/assets/bower_components/foundation/package.json +57 -0
  35. data/assets/bower_components/foundation/scss/foundation/_functions.scss +53 -43
  36. data/assets/bower_components/foundation/scss/foundation/_settings.scss +59 -37
  37. data/assets/bower_components/foundation/scss/foundation/components/_accordion.scss +12 -8
  38. data/assets/bower_components/foundation/scss/foundation/components/_alert-boxes.scss +12 -12
  39. data/assets/bower_components/foundation/scss/foundation/components/_block-grid.scss +14 -13
  40. data/assets/bower_components/foundation/scss/foundation/components/_breadcrumbs.scss +19 -19
  41. data/assets/bower_components/foundation/scss/foundation/components/_button-groups.scss +33 -25
  42. data/assets/bower_components/foundation/scss/foundation/components/_buttons.scss +30 -28
  43. data/assets/bower_components/foundation/scss/foundation/components/_clearing.scss +51 -47
  44. data/assets/bower_components/foundation/scss/foundation/components/_dropdown-buttons.scss +10 -11
  45. data/assets/bower_components/foundation/scss/foundation/components/_dropdown.scss +45 -38
  46. data/assets/bower_components/foundation/scss/foundation/components/_flex-video.scss +7 -7
  47. data/assets/bower_components/foundation/scss/foundation/components/_forms.scss +99 -62
  48. data/assets/bower_components/foundation/scss/foundation/components/_global.scss +152 -67
  49. data/assets/bower_components/foundation/scss/foundation/components/_grid.scss +39 -36
  50. data/assets/bower_components/foundation/scss/foundation/components/_icon-bar.scss +337 -235
  51. data/assets/bower_components/foundation/scss/foundation/components/_inline-lists.scss +9 -8
  52. data/assets/bower_components/foundation/scss/foundation/components/_joyride.scss +40 -42
  53. data/assets/bower_components/foundation/scss/foundation/components/_keystrokes.scss +2 -3
  54. data/assets/bower_components/foundation/scss/foundation/components/_labels.scss +6 -6
  55. data/assets/bower_components/foundation/scss/foundation/components/_magellan.scss +2 -2
  56. data/assets/bower_components/foundation/scss/foundation/components/_offcanvas.scss +259 -168
  57. data/assets/bower_components/foundation/scss/foundation/components/_orbit.scss +82 -62
  58. data/assets/bower_components/foundation/scss/foundation/components/_pagination.scss +16 -15
  59. data/assets/bower_components/foundation/scss/foundation/components/_panels.scss +21 -15
  60. data/assets/bower_components/foundation/scss/foundation/components/_pricing-tables.scss +16 -16
  61. data/assets/bower_components/foundation/scss/foundation/components/_progress-bars.scss +10 -4
  62. data/assets/bower_components/foundation/scss/foundation/components/_range-slider.scss +28 -20
  63. data/assets/bower_components/foundation/scss/foundation/components/_reveal.scss +38 -28
  64. data/assets/bower_components/foundation/scss/foundation/components/_side-nav.scss +15 -11
  65. data/assets/bower_components/foundation/scss/foundation/components/_split-buttons.scss +22 -18
  66. data/assets/bower_components/foundation/scss/foundation/components/_sub-nav.scss +14 -12
  67. data/assets/bower_components/foundation/scss/foundation/components/_switches.scss +22 -19
  68. data/assets/bower_components/foundation/scss/foundation/components/_tables.scss +8 -8
  69. data/assets/bower_components/foundation/scss/foundation/components/_tabs.scss +50 -31
  70. data/assets/bower_components/foundation/scss/foundation/components/_thumbs.scss +8 -8
  71. data/assets/bower_components/foundation/scss/foundation/components/_tooltips.scss +25 -25
  72. data/assets/bower_components/foundation/scss/foundation/components/_top-bar.scss +176 -122
  73. data/assets/bower_components/foundation/scss/foundation/components/_type.scss +38 -38
  74. data/assets/bower_components/foundation/scss/foundation/components/_visibility.scss +33 -16
  75. data/assets/bower_components/foundation/scss/foundation.scss +37 -40
  76. data/assets/bower_components/foundation/scss/normalize.scss +8 -11
  77. data/assets/bower_components/jquery/bower.json +2 -1
  78. data/assets/bower_components/jquery/dist/jquery.js +9 -4
  79. data/assets/bower_components/jquery/dist/jquery.min.js +4 -4
  80. data/assets/bower_components/jquery/dist/jquery.min.map +1 -1
  81. data/assets/bower_components/jquery/src/core.js +6 -1
  82. data/assets/scss/_settings.scss +2 -0
  83. data/assets/stylesheets/app.css +3066 -2429
  84. data/lib/catscope/version.rb +1 -1
  85. data/lib/catscope/views/layout.erb +6 -2
  86. metadata +8 -4
  87. data/assets/bower_components/foundation/scss/foundation/components/_toolbar.scss +0 -70
@@ -2,8 +2,8 @@
2
2
  // foundation.zurb.com
3
3
  // Licensed under MIT Open Source
4
4
 
5
- @import "global";
6
- @import "type";
5
+ @import 'global';
6
+ @import 'type';
7
7
 
8
8
  // Off Canvas Tab Bar Variables
9
9
  $include-html-off-canvas-classes: $include-html-classes !default;
@@ -28,11 +28,13 @@ $tabbar-header-margin: 0 !default;
28
28
 
29
29
  // Off Canvas Menu Variables
30
30
  $off-canvas-width: rem-calc(250) !default;
31
+ $off-canvas-height: rem-calc(300) !default;
31
32
  $off-canvas-bg: $oil !default;
32
33
  $off-canvas-bg-hover: scale-color($tabbar-bg, $lightness: -30%) !default;
34
+ $off-canvas-bg-active: scale-color($tabbar-bg, $lightness: -30%) !default;
33
35
 
34
36
  // Off Canvas Menu List Variables
35
- $off-canvas-label-padding: 0.3rem rem-calc(15) !default;
37
+ $off-canvas-label-padding: .3rem rem-calc(15) !default;
36
38
  $off-canvas-label-color: $aluminum !default;
37
39
  $off-canvas-label-text-transform: uppercase !default;
38
40
  $off-canvas-label-font-size: rem-calc(12) !default;
@@ -42,7 +44,7 @@ $off-canvas-label-border-top: 1px solid scale-color($off-canvas-label-bg, $light
42
44
  $off-canvas-label-border-bottom: none !default;
43
45
  $off-canvas-label-margin:0 !default;
44
46
  $off-canvas-link-padding: rem-calc(10, 15) !default;
45
- $off-canvas-link-color: rgba($white, 0.7) !default;
47
+ $off-canvas-link-color: rgba($white, .7) !default;
46
48
  $off-canvas-link-border-bottom: 1px solid scale-color($off-canvas-bg, $lightness: -25%) !default;
47
49
  $off-canvas-back-bg: #444 !default;
48
50
  $off-canvas-back-border-top: $off-canvas-label-border-top !default;
@@ -69,9 +71,9 @@ $tabbar-hamburger-icon-gap: 6px !default;
69
71
  // Off Canvas Back-Link Overlay
70
72
  $off-canvas-overlay-transition: background 300ms ease !default;
71
73
  $off-canvas-overlay-cursor: pointer !default;
72
- $off-canvas-overlay-box-shadow: -4px 0 4px rgba($black, 0.5), 4px 0 4px rgba($black, 0.5) !default;
73
- $off-canvas-overlay-background: rgba($white, 0.2) !default;
74
- $off-canvas-overlay-background-hover: rgba($white, 0.05) !default;
74
+ $off-canvas-overlay-box-shadow: -4px 0 4px rgba($black, .5), 4px 0 4px rgba($black, .5) !default;
75
+ $off-canvas-overlay-background: rgba($white, .2) !default;
76
+ $off-canvas-overlay-background-hover: rgba($white, .05) !default;
75
77
 
76
78
  // Transition Variables
77
79
  $menu-slide: "transform 500ms ease" !default;
@@ -90,39 +92,51 @@ $menu-slide: "transform 500ms ease" !default;
90
92
  width: 100%;
91
93
  }
92
94
 
93
- @mixin translate3d($tx,$ty,$tz) {
94
- -ms-transform: translate($tx,$ty);
95
- -webkit-transform: translate3d($tx,$ty,$tz);
96
- -moz-transform: translate3d($tx,$ty,$tz);
97
- -ms-transform: translate3d($tx,$ty,$tz);
98
- -o-transform: translate3d($tx,$ty,$tz);
99
- transform: translate3d($tx,$ty,$tz)
95
+ @mixin translate3d($tx, $ty, $tz) {
96
+ -webkit-transform: translate3d($tx, $ty, $tz);
97
+ -moz-transform: translate3d($tx, $ty, $tz);
98
+ -ms-transform: translate($tx, $ty);
99
+ -o-transform: translate3d($tx, $ty, $tz);
100
+ transform: translate3d($tx, $ty, $tz)
100
101
  }
101
102
 
102
103
  // basic styles for off-canvas menu container
103
104
  @mixin off-canvas-menu($position) {
104
105
  @include kill-flicker;
105
106
  * { @include kill-flicker; }
106
- width: $off-canvas-width;
107
- top: 0;
108
- bottom: 0;
109
- position: absolute;
110
- overflow-x: hidden;
111
- overflow-y: auto;
112
107
  background: $off-canvas-bg;
113
- z-index: 1001;
108
+ bottom: 0;
114
109
  box-sizing: content-box;
115
- transition: transform 500ms ease 0s;
116
110
  -webkit-overflow-scrolling: touch;
117
111
  -ms-overflow-style: -ms-autohiding-scrollbar;
112
+ overflow-x: hidden;
113
+ overflow-y: auto;
114
+ position: absolute;
115
+ transition: transform 500ms ease 0s;
116
+ width: $off-canvas-width;
117
+ z-index: 1001;
118
118
 
119
119
  @if $position == left {
120
120
  @include translate3d(-100%,0,0);
121
121
  left: 0;
122
+ top: 0;
122
123
  }
123
124
  @if $position == right {
124
125
  @include translate3d(100%,0,0);
125
126
  right: 0;
127
+ top: 0;
128
+ }
129
+ @if $position == top {
130
+ @include translate3d(0,-100%,0);
131
+ top: 0;
132
+ width: 100%;
133
+ height: $off-canvas-height;
134
+ }
135
+ @if $position == bottom {
136
+ @include translate3d(0,100%,0);
137
+ bottom: 0;
138
+ width: 100%;
139
+ height: $off-canvas-height;
126
140
  }
127
141
  }
128
142
 
@@ -133,7 +147,9 @@ $menu-slide: "transform 500ms ease" !default;
133
147
  @include wrap-base;
134
148
  overflow: hidden;
135
149
  &.move-right,
136
- &.move-left { min-height: 100%; -webkit-overflow-scrolling: touch; }
150
+ &.move-left,
151
+ &.move-bottom,
152
+ &.move-top { min-height: 100%; -webkit-overflow-scrolling: touch; }
137
153
  }
138
154
 
139
155
  // INNER WRAP
@@ -166,22 +182,22 @@ $menu-slide: "transform 500ms ease" !default;
166
182
  // z-index: 999;
167
183
 
168
184
  // Typography
169
- h1,h2,h3,h4,h5,h6 {
185
+ h1, h2, h3, h4, h5, h6 {
170
186
  color: $tabbar-header-color;
171
187
  font-weight: $tabbar-header-weight;
172
188
  line-height: $tabbar-header-line-height;
173
189
  margin: $tabbar-header-margin;
174
190
  }
175
- h1,h2,h3,h4 { font-size: $h5-font-size; }
191
+ h1, h2, h3, h4 { font-size: $h5-font-size; }
176
192
  }
177
193
 
178
194
  // SMALL SECTIONS
179
195
  // These are small sections on the left and right that contain the off-canvas toggle buttons;
180
196
  @mixin tabbar-small-section($position) {
181
- width: $tabbar-icon-width;
182
197
  height: $tabbar-height;
183
198
  position: absolute;
184
199
  top: 0;
200
+ width: $tabbar-icon-width;
185
201
  @if $position == left {
186
202
  border-right: $tabbar-left-section-border;
187
203
  // box-shadow: 1px 0 0 scale-color($tabbar-bg, $lightness: 13%);
@@ -195,15 +211,14 @@ $menu-slide: "transform 500ms ease" !default;
195
211
  }
196
212
 
197
213
  @mixin tab-bar-section {
214
+ height: $tabbar-height;
198
215
  padding: $tabbar-middle-padding;
199
216
  position: absolute;
200
217
  text-align: center;
201
- height: $tabbar-height;
202
218
  top: 0;
203
- @media #{$medium-up} {
204
219
  &.left { text-align: left; }
205
220
  &.right { text-align: right; }
206
- }
221
+
207
222
 
208
223
  // still need to make these non-presentational
209
224
  &.left {
@@ -224,31 +239,34 @@ $menu-slide: "transform 500ms ease" !default;
224
239
  // This is the list of links in the off-canvas menu
225
240
  @mixin off-canvas-list {
226
241
  list-style-type: none;
227
- padding:0;
228
242
  margin:0;
243
+ padding:0;
229
244
 
230
245
  li {
231
246
  label {
232
- display: block;
233
- padding: $off-canvas-label-padding;
247
+ background: $off-canvas-label-bg;
248
+ border-bottom: $off-canvas-label-border-bottom;
249
+ border-top: $off-canvas-label-border-top;
234
250
  color: $off-canvas-label-color;
235
- text-transform: $off-canvas-label-text-transform;
251
+ display: block;
236
252
  font-size: $off-canvas-label-font-size;
237
253
  font-weight: $off-canvas-label-font-weight;
238
- background: $off-canvas-label-bg;
239
- border-top: $off-canvas-label-border-top;
240
- border-bottom: $off-canvas-label-border-bottom;
241
254
  margin: $off-canvas-label-margin;
255
+ padding: $off-canvas-label-padding;
256
+ text-transform: $off-canvas-label-text-transform;
242
257
  }
243
258
  a {
259
+ border-bottom: $off-canvas-link-border-bottom;
260
+ color: $off-canvas-link-color;
244
261
  display: block;
245
262
  padding: $off-canvas-link-padding;
246
- color: $off-canvas-link-color;
247
- border-bottom: $off-canvas-link-border-bottom;
248
263
  transition: background 300ms ease;
249
264
  &:hover {
250
265
  background: $off-canvas-bg-hover;
251
266
  }
267
+ &:active {
268
+ background: $off-canvas-bg-active;
269
+ }
252
270
  }
253
271
  }
254
272
 
@@ -257,28 +275,132 @@ $menu-slide: "transform 500ms ease" !default;
257
275
  // BACK LINK
258
276
  // This is an overlay that, when clicked, will toggle off the off canvas menu
259
277
  @mixin back-link {
260
- @include kill-flicker;
278
+ @include kill-flicker;
279
+
280
+ box-shadow: $off-canvas-overlay-box-shadow;
281
+ cursor: $off-canvas-overlay-cursor;
282
+ transition: $off-canvas-overlay-transition;
283
+
284
+ // fill the screen
285
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
286
+ background: $off-canvas-overlay-background;
287
+ bottom: 0;
288
+ display: block;
289
+ left: 0;
290
+ position: absolute;
291
+ right: 0;
292
+ top: 0;
293
+ z-index: 1002;
261
294
 
262
- transition: $off-canvas-overlay-transition;
263
- cursor: $off-canvas-overlay-cursor;
264
- box-shadow: $off-canvas-overlay-box-shadow;
295
+ @media #{$medium-up} {
296
+ &:hover {
297
+ background: $off-canvas-overlay-background-hover;
298
+ }
299
+ }
300
+ }
265
301
 
266
- // fill the screen
267
- display: block;
268
- position: absolute;
269
- background: $off-canvas-overlay-background;
302
+ //
303
+ // Off-Canvas Submenu Classes
304
+ //
305
+ @mixin off-canvas-submenu($position) {
306
+ @include kill-flicker;
307
+ * { @include kill-flicker; }
308
+ -webkit-overflow-scrolling: touch;
309
+ background: $off-canvas-bg;
310
+ bottom: 0;
311
+ box-sizing: content-box;
312
+ margin: 0;
313
+ overflow-x: hidden;
314
+ overflow-y: auto;
315
+ position: absolute;
316
+ top: 0;
317
+ width: $off-canvas-width;
318
+ height: $off-canvas-height;
319
+ z-index: 1002;
320
+ @if $position == left {
321
+ @include translate3d(-100%,0,0);
322
+ left: 0;
323
+ }
324
+ @if $position == right {
325
+ @include translate3d(100%,0,0);
326
+ right: 0;
327
+ }
328
+ @if $position == top {
329
+ @include translate3d(0,-100%,0);
270
330
  top: 0;
331
+ width: 100%;
332
+ }
333
+ @if $position == bottom {
334
+ @include translate3d(0,100%,0);
271
335
  bottom: 0;
272
- left:0;
273
- right:0;
274
- z-index: 1002;
275
- -webkit-tap-highlight-color: rgba(0,0,0,0);
336
+ width: 100%;
337
+ }
338
+ -webkit-transition: -webkit-#{$menu-slide};
339
+ -moz-transition: -moz-#{$menu-slide};
340
+ -ms-transition: -ms-#{$menu-slide};
341
+ -o-transition: -o-#{$menu-slide};
342
+ transition: #{$menu-slide};
276
343
 
277
- @media #{$medium-up} {
278
- &:hover {
279
- background: $off-canvas-overlay-background-hover;
344
+ //back button style like label
345
+ .back > a {
346
+ background: $off-canvas-back-bg;
347
+ border-bottom: $off-canvas-back-border-bottom;
348
+ border-top: $off-canvas-back-border-top;
349
+ color: $off-canvas-label-color;
350
+ font-weight: $off-canvas-label-font-weight;
351
+ padding: $off-canvas-label-padding;
352
+ text-transform: $off-canvas-label-text-transform;
353
+
354
+ &:hover {
355
+ background: $off-canvas-back-hover-bg;
356
+ border-bottom: $off-canvas-back-hover-border-bottom;
357
+ border-top: $off-canvas-back-hover-border-top;
358
+ }
359
+
360
+ margin: $off-canvas-label-margin;
361
+ @if $position == right {
362
+ @if $text-direction == rtl {
363
+ &:before {
364
+ @include icon-double-arrows($position: left);
365
+ }
366
+ } @else {
367
+ &:after {
368
+ @include icon-double-arrows($position: right);
369
+ }
370
+ }
371
+ }
372
+ @if $position == left {
373
+ @if $text-direction == rtl {
374
+ &:after {
375
+ @include icon-double-arrows($position: right);
376
+ }
377
+ } @else {
378
+ &:before {
379
+ @include icon-double-arrows($position: left);
380
+ }
280
381
  }
281
382
  }
383
+ }
384
+ }
385
+ //Left double angle quote or Right double angle quote chars
386
+ @mixin icon-double-arrows ($position) {
387
+ @if $position == left {
388
+ content: "\AB";
389
+ @if $text-direction == rtl {
390
+ margin-left: .5rem;
391
+ } @else {
392
+ margin-right: .5rem;
393
+ }
394
+ }
395
+ @if $position == right {
396
+ content: "\BB";
397
+ @if $text-direction == rtl {
398
+ margin-right: .5rem;
399
+ } @else {
400
+ margin-left: .5rem;
401
+ }
402
+ }
403
+ display: inline;
282
404
  }
283
405
 
284
406
  //
@@ -300,14 +422,14 @@ $menu-slide: "transform 500ms ease" !default;
300
422
  // MENU BUTTON
301
423
  // This is a little bonus. You don't need it for off canvas to work. Mixins to be written in the future.
302
424
  .tab-bar .menu-icon {
303
- text-indent: $tabbar-menu-icon-text-indent;
304
- width: $tabbar-menu-icon-width;
305
- height: $tabbar-menu-icon-height;
425
+ color: $tabbar-menu-icon-color;
306
426
  display: block;
427
+ height: $tabbar-menu-icon-height;
307
428
  padding: $tabbar-menu-icon-padding;
308
- color: $tabbar-menu-icon-color;
309
429
  position: relative;
430
+ text-indent: $tabbar-menu-icon-text-indent;
310
431
  transform: translate3d(0,0,0);
432
+ width: $tabbar-menu-icon-width;
311
433
 
312
434
  // @include for the hamburger menu-icon
313
435
  //
@@ -325,6 +447,8 @@ $menu-slide: "transform 500ms ease" !default;
325
447
 
326
448
  .left-off-canvas-menu { @include off-canvas-menu($position: left); }
327
449
  .right-off-canvas-menu { @include off-canvas-menu($position: right); }
450
+ .top-off-canvas-menu { @include off-canvas-menu($position: top); }
451
+ .bottom-off-canvas-menu { @include off-canvas-menu($position: bottom); }
328
452
 
329
453
  ul.off-canvas-list { @include off-canvas-list; }
330
454
 
@@ -345,8 +469,23 @@ $menu-slide: "transform 500ms ease" !default;
345
469
  }
346
470
  .exit-off-canvas { @include back-link; }
347
471
  }
472
+ .move-top {
473
+ > .inner-wrap {
474
+ @include translate3d(0,-($off-canvas-height),0);
475
+
476
+ }
477
+ .exit-off-canvas { @include back-link; }
478
+ }
479
+ .move-bottom {
480
+ > .inner-wrap {
481
+ @include translate3d(0,($off-canvas-height),0);
482
+
483
+ }
484
+ .exit-off-canvas { @include back-link; }
485
+ }
348
486
  .offcanvas-overlap {
349
- .left-off-canvas-menu, .right-off-canvas-menu {
487
+ .left-off-canvas-menu, .right-off-canvas-menu,
488
+ .top-off-canvas-menu, .bottom-off-canvas-menu {
350
489
  -ms-transform: none;
351
490
  -webkit-transform: none;
352
491
  -moz-transform: none;
@@ -378,138 +517,90 @@ $menu-slide: "transform 500ms ease" !default;
378
517
  }
379
518
  .exit-off-canvas { @include back-link; }
380
519
  }
520
+ .offcanvas-overlap-top {
521
+ .bottom-off-canvas-menu {
522
+ -ms-transform: none;
523
+ -webkit-transform: none;
524
+ -moz-transform: none;
525
+ -o-transform: none;
526
+ transform: none;
527
+ z-index: 1003;
528
+ }
529
+ .exit-off-canvas { @include back-link; }
530
+ }
531
+ .offcanvas-overlap-bottom {
532
+ .top-off-canvas-menu {
533
+ -ms-transform: none;
534
+ -webkit-transform: none;
535
+ -moz-transform: none;
536
+ -o-transform: none;
537
+ transform: none;
538
+ z-index: 1003;
539
+ }
540
+ .exit-off-canvas { @include back-link; }
541
+ }
381
542
 
382
543
  // Older browsers
383
544
  .no-csstransforms {
384
545
  .left-off-canvas-menu { left: -($off-canvas-width); }
385
546
  .right-off-canvas-menu { right: -($off-canvas-width); }
547
+ .top-off-canvas-menu { top: -($off-canvas-height); }
548
+ .bottom-off-canvas-menu { bottom: -($off-canvas-height); }
386
549
 
387
550
  .move-left > .inner-wrap { right: $off-canvas-width; }
388
551
  .move-right > .inner-wrap { left: $off-canvas-width; }
389
- }
552
+ .move-top > .inner-wrap { right: $off-canvas-height; }
553
+ .move-bottom > .inner-wrap { left: $off-canvas-height; }
390
554
 
391
- }
392
- }
393
555
 
394
- //
395
- // Off-Canvas Submenu Classes
396
- //
397
- @mixin off-canvas-submenu($position) {
398
- @include kill-flicker;
399
- * { @include kill-flicker; }
400
- width: $off-canvas-width;
401
- top: 0;
402
- bottom: 0;
403
- position: absolute;
404
- margin: 0;
405
- overflow-x: hidden;
406
- overflow-y: auto;
407
- background: $off-canvas-bg;
408
- z-index: 1002;
409
- box-sizing: content-box;
410
- -webkit-overflow-scrolling: touch;
411
- @if $position == left {
412
- @include translate3d(-100%,0,0);
413
- left: 0;
414
- }
415
- @if $position == right {
416
- @include translate3d(100%,0,0);
417
- right: 0;
418
- }
419
- -webkit-transition: -webkit-#{$menu-slide};
420
- -moz-transition: -moz-#{$menu-slide};
421
- -ms-transition: -ms-#{$menu-slide};
422
- -o-transition: -o-#{$menu-slide};
423
- transition: #{$menu-slide};
556
+ }
424
557
 
425
- //back button style like label
426
- .back > a {
427
- padding: $off-canvas-label-padding;
428
- color: $off-canvas-label-color;
429
- text-transform: $off-canvas-label-text-transform;
430
- font-weight: $off-canvas-label-font-weight;
431
- background: $off-canvas-back-bg;
432
- border-top: $off-canvas-back-border-top;
433
- border-bottom: $off-canvas-back-border-bottom;
434
- &:hover {
435
- background: $off-canvas-back-hover-bg;
436
- border-top: $off-canvas-back-hover-border-top;
437
- border-bottom: $off-canvas-back-hover-border-bottom;
558
+ .left-submenu {
559
+ @include off-canvas-submenu($position: left);
560
+ &.move-right, &.offcanvas-overlap-right, &.offcanvas-overlap {
561
+ @include translate3d(0%,0,0);
562
+ }
438
563
  }
439
- margin: $off-canvas-label-margin;
440
- @if $position == right {
441
- @if $text-direction == rtl {
442
- &:before {
443
- @include icon-double-arrows($position: left);
444
- }
445
- } @else {
446
- &:after {
447
- @include icon-double-arrows($position: right);
448
- }
564
+
565
+ .right-submenu {
566
+ @include off-canvas-submenu($position: right);
567
+ &.move-left, &.offcanvas-overlap-left, &.offcanvas-overlap {
568
+ @include translate3d(0%,0,0);
449
569
  }
450
570
  }
451
- @if $position == left {
452
- @if $text-direction == rtl {
453
- &:after {
454
- @include icon-double-arrows($position: right);
455
- }
456
- } @else {
457
- &:before {
458
- @include icon-double-arrows($position: left);
459
- }
571
+
572
+ .top-submenu {
573
+ @include off-canvas-submenu($position: top);
574
+ &.move-bottom, &.offcanvas-overlap-bottom, &.offcanvas-overlap {
575
+ @include translate3d(0,0%,0);
460
576
  }
461
577
  }
462
- }
463
- }
464
- //Left double angle quote or Right double angle quote chars
465
- @mixin icon-double-arrows ($position){
466
- @if $position == left {
467
- content: "\AB";
468
- @if $text-direction == rtl {
469
- margin-left: 0.5rem;
470
- } @else {
471
- margin-right: 0.5rem;
578
+
579
+ .bottom-submenu {
580
+ @include off-canvas-submenu($position: bottom);
581
+ &.move-top, &.offcanvas-overlap-top, &.offcanvas-overlap {
582
+ @include translate3d(0,0%,0);
583
+ }
472
584
  }
473
- }
474
- @if $position == right {
475
- content: "\BB";
585
+
476
586
  @if $text-direction == rtl {
477
- margin-right: 0.5rem;
587
+ .left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
588
+ @include icon-double-arrows($position: left);
589
+ }
590
+ .right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
591
+ @include icon-double-arrows($position: right);
592
+ }
478
593
  } @else {
479
- margin-left: 0.5rem;
594
+ .left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
595
+ @include icon-double-arrows($position: right);
596
+ }
597
+ .right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
598
+ @include icon-double-arrows($position: left);
599
+ }
480
600
  }
601
+
481
602
  }
482
- display: inline;
483
603
  }
484
604
 
485
- @if $include-html-off-canvas-classes {
486
- .left-submenu {
487
- @include off-canvas-submenu($position: left);
488
- &.move-right, &.offcanvas-overlap-right, &.offcanvas-overlap {
489
- @include translate3d(0%,0,0);
490
- }
491
- }
492
605
 
493
- .right-submenu {
494
- @include off-canvas-submenu($position: right);
495
- &.move-left, &.offcanvas-overlap-left, &.offcanvas-overlap {
496
- @include translate3d(0%,0,0);
497
- }
498
- }
499
606
 
500
- @if $text-direction == rtl {
501
- .left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
502
- @include icon-double-arrows($position: left);
503
- }
504
- .right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
505
- @include icon-double-arrows($position: right);
506
- }
507
- } @else {
508
- .left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
509
- @include icon-double-arrows($position: right);
510
- }
511
- .right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
512
- @include icon-double-arrows($position: left);
513
- }
514
- }
515
- }