leather2 3.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +34 -0
  4. data/app/assets/images/leather/hero24.jpg +0 -0
  5. data/app/assets/javascripts/leather.js +13 -0
  6. data/app/assets/javascripts/leather/navbar_transparent.coffee +4 -0
  7. data/app/assets/javascripts/leather/off_canvas.coffee +16 -0
  8. data/app/assets/stylesheets/docs.scss +3 -0
  9. data/app/assets/stylesheets/leather.scss +19 -0
  10. data/app/assets/stylesheets/leather/_buttons.scss +31 -0
  11. data/app/assets/stylesheets/leather/_devise.scss +72 -0
  12. data/app/assets/stylesheets/leather/_grid.scss +19 -0
  13. data/app/assets/stylesheets/leather/_list_groups.scss +33 -0
  14. data/app/assets/stylesheets/leather/_nav_menus.scss +125 -0
  15. data/app/assets/stylesheets/leather/_navbar_transparent.scss +23 -0
  16. data/app/assets/stylesheets/leather/_off_canvas.scss +109 -0
  17. data/app/assets/stylesheets/leather/_scroll_panels.scss +85 -0
  18. data/app/assets/stylesheets/leather/_toggle_columns.scss +23 -0
  19. data/app/assets/stylesheets/leather/_typography.scss +12 -0
  20. data/app/assets/stylesheets/leather/_utilities.scss +54 -0
  21. data/app/assets/stylesheets/leather/_variables.scss +8 -0
  22. data/app/assets/stylesheets/leather/components/_cta.scss +13 -0
  23. data/app/assets/stylesheets/leather/components/_features.scss +87 -0
  24. data/app/assets/stylesheets/leather/components/_flex_boxes.scss +37 -0
  25. data/app/assets/stylesheets/leather/components/_image_block.scss +55 -0
  26. data/app/controllers/leather/application_controller.rb +13 -0
  27. data/app/controllers/leather/layouts_controller.rb +15 -0
  28. data/app/helpers/leather/application_helper.rb +28 -0
  29. data/app/views/leather/application/_table.html.haml +23 -0
  30. data/app/views/leather/application/components.html.haml +173 -0
  31. data/app/views/leather/application/ui_kit.html.haml +405 -0
  32. data/app/views/leather/bootstrap_components/_dropdown_nav_item.html.haml +7 -0
  33. data/app/views/leather/bootstrap_components/_modal.html.haml +4 -0
  34. data/app/views/leather/bootstrap_components/_modal_body.html.haml +2 -0
  35. data/app/views/leather/bootstrap_components/_modal_footer.html.haml +2 -0
  36. data/app/views/leather/bootstrap_components/_modal_header.html.haml +5 -0
  37. data/app/views/leather/bootstrap_components/_nav_item.html.haml +2 -0
  38. data/app/views/leather/bootstrap_components/_nav_list.html.haml +2 -0
  39. data/app/views/leather/bootstrap_components/_navbar.html.haml +58 -0
  40. data/app/views/leather/layouts/_links.html.haml +8 -0
  41. data/app/views/leather/layouts/_navigation.html.haml +0 -0
  42. data/app/views/leather/layouts/admin.html.haml +20 -0
  43. data/app/views/leather/layouts/three_column.html.haml +47 -0
  44. data/app/views/leather/layouts/two_column.html.haml +34 -0
  45. data/config/routes.rb +7 -0
  46. data/lib/generators/leather/install/install_generator.rb +29 -0
  47. data/lib/leather.rb +12 -0
  48. data/lib/leather/action_controller_extension.rb +39 -0
  49. data/lib/leather/engine.rb +9 -0
  50. data/lib/leather/leather_helpers.rb +58 -0
  51. data/lib/leather/railtie.rb +12 -0
  52. data/lib/leather/version.rb +3 -0
  53. data/lib/tasks/leather_tasks.rake +4 -0
  54. data/templates/_navigation.html.haml +14 -0
  55. data/templates/bootstrap_variables.css.scss +848 -0
  56. data/templates/high_voltage.rb +4 -0
  57. data/templates/views/devise/passwords/edit.html.erb +28 -0
  58. data/templates/views/devise/passwords/new.html.erb +22 -0
  59. data/templates/views/devise/registrations/new.html.erb +32 -0
  60. data/templates/views/devise/sessions/new.html.erb +32 -0
  61. data/templates/views/devise/shared/_links.html.erb +23 -0
  62. data/templates/views/devise/shared/_welcome.html.erb +4 -0
  63. data/templates/views/pages/home.html.haml +2 -0
  64. data/test/dummy/README.rdoc +28 -0
  65. data/test/dummy/Rakefile +6 -0
  66. data/test/dummy/app/assets/javascripts/application.js +17 -0
  67. data/test/dummy/app/assets/stylesheets/application.css.scss +3 -0
  68. data/test/dummy/app/assets/stylesheets/bootstrap_variables.css.scss +848 -0
  69. data/test/dummy/app/controllers/application_controller.rb +5 -0
  70. data/test/dummy/app/helpers/application_helper.rb +2 -0
  71. data/test/dummy/app/models/user.rb +6 -0
  72. data/test/dummy/app/views/application/_navigation.html.haml +14 -0
  73. data/test/dummy/app/views/devise/passwords/edit.html.erb +28 -0
  74. data/test/dummy/app/views/devise/passwords/new.html.erb +22 -0
  75. data/test/dummy/app/views/devise/registrations/new.html.erb +32 -0
  76. data/test/dummy/app/views/devise/sessions/new.html.erb +32 -0
  77. data/test/dummy/app/views/devise/shared/_links.html.erb +23 -0
  78. data/test/dummy/app/views/devise/shared/_welcome.html.erb +4 -0
  79. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  80. data/test/dummy/app/views/pages/home.html.haml +2 -0
  81. data/test/dummy/bin/bundle +3 -0
  82. data/test/dummy/bin/rails +4 -0
  83. data/test/dummy/bin/rake +4 -0
  84. data/test/dummy/config.ru +4 -0
  85. data/test/dummy/config/application.rb +23 -0
  86. data/test/dummy/config/boot.rb +5 -0
  87. data/test/dummy/config/database.yml +25 -0
  88. data/test/dummy/config/environment.rb +5 -0
  89. data/test/dummy/config/environments/development.rb +37 -0
  90. data/test/dummy/config/environments/production.rb +82 -0
  91. data/test/dummy/config/environments/test.rb +39 -0
  92. data/test/dummy/config/initializers/assets.rb +8 -0
  93. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  94. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  95. data/test/dummy/config/initializers/devise.rb +259 -0
  96. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  97. data/test/dummy/config/initializers/high_voltage.rb +4 -0
  98. data/test/dummy/config/initializers/inflections.rb +16 -0
  99. data/test/dummy/config/initializers/mime_types.rb +4 -0
  100. data/test/dummy/config/initializers/session_store.rb +3 -0
  101. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  102. data/test/dummy/config/locales/devise.en.yml +60 -0
  103. data/test/dummy/config/locales/en.yml +23 -0
  104. data/test/dummy/config/routes.rb +4 -0
  105. data/test/dummy/config/secrets.yml +22 -0
  106. data/test/dummy/db/development.sqlite3 +0 -0
  107. data/test/dummy/db/migrate/20140814162425_devise_create_users.rb +42 -0
  108. data/test/dummy/db/schema.rb +34 -0
  109. data/test/dummy/log/development.log +85136 -0
  110. data/test/dummy/public/404.html +67 -0
  111. data/test/dummy/public/422.html +67 -0
  112. data/test/dummy/public/500.html +66 -0
  113. data/test/dummy/public/favicon.ico +0 -0
  114. data/test/dummy/test/fixtures/users.yml +11 -0
  115. data/test/dummy/test/models/user_test.rb +7 -0
  116. data/test/integration/navigation_test.rb +10 -0
  117. data/test/leather_test.rb +7 -0
  118. data/test/test_helper.rb +15 -0
  119. metadata +348 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f12be87f7be09386c2d7d96327d13dc0de6d9ce6
4
+ data.tar.gz: 3af2f2817d07b8e10bfa4511aaee5fb367d71c29
5
+ SHA512:
6
+ metadata.gz: 951d2e9a6d0f4382515a3c502c8b335b93c5fd35b623ee300b1f82900492f75ac2833e4c3263d4615ee6b0f8736e3ac1dc2b20f6e8fafec08ed1acaa0cb82c99
7
+ data.tar.gz: 97b796050985bf37c8d8c30877310a655dd9ca76ab7ebe3e81ac5d6800ad3c28ba27fb9f9805f8207790f2620d163791f2cfc01f5e8b74ae9364a0c3e5ed6d4d
@@ -0,0 +1,20 @@
1
+ Copyright 2014 YOURNAME
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,34 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Leather'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
18
+ load 'rails/tasks/engine.rake'
19
+
20
+
21
+
22
+ Bundler::GemHelper.install_tasks
23
+
24
+ require 'rake/testtask'
25
+
26
+ Rake::TestTask.new(:test) do |t|
27
+ t.libs << 'lib'
28
+ t.libs << 'test'
29
+ t.pattern = 'test/**/*_test.rb'
30
+ t.verbose = false
31
+ end
32
+
33
+
34
+ task default: :test
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file.
9
+ //
10
+ // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require_tree .
@@ -0,0 +1,4 @@
1
+ $ ->
2
+ $(".navbar-transparent-top").affix
3
+ offset:
4
+ top: 10
@@ -0,0 +1,16 @@
1
+ $ ->
2
+ $("body").on "click", "[data-toggle='off-canvas']", (e) ->
3
+ e.preventDefault()
4
+ if $("#off-canvas-overlay").length == 0
5
+ $("#main").before("<div id='off-canvas-overlay'></div>")
6
+ target = $(this).data("target")
7
+ $(target).toggleClass("in")
8
+
9
+ $("body").on "click touchstart", "#off-canvas-overlay", (e) ->
10
+ e.preventDefault()
11
+ $(".off-canvas.in").removeClass("in")
12
+
13
+ $("body").on "click", "[data-toggle='columns']", (e) ->
14
+ e.preventDefault()
15
+ $('#right').toggleClass('hidden-xs')
16
+ $('#left').toggleClass('hidden-xs')
@@ -0,0 +1,3 @@
1
+ .hero24 {
2
+ background: image-url('leather/hero24.jpg') 50% 50%;
3
+ }
@@ -0,0 +1,19 @@
1
+ @import "leather/variables";
2
+ @import "leather/buttons";
3
+ @import "leather/devise";
4
+ @import "leather/grid";
5
+ @import "leather/list_groups";
6
+ @import "leather/nav_menus";
7
+ @import "leather/navbar_transparent";
8
+ @import "leather/off_canvas";
9
+ @import "leather/scroll_panels";
10
+ @import "leather/toggle_columns";
11
+ @import "leather/typography";
12
+ @import "leather/utilities";
13
+
14
+ @import "leather/components/cta";
15
+ @import "leather/components/features";
16
+ @import "leather/components/flex_boxes";
17
+ @import "leather/components/image_block";
18
+
19
+ @import "docs";
@@ -0,0 +1,31 @@
1
+ @mixin btn-outline-variant($color, $bg) {
2
+ color: $bg;
3
+
4
+ &:hover {
5
+ color: $color;
6
+ }
7
+ }
8
+
9
+ .btn-outline {
10
+ background-color: transparent;
11
+
12
+ &.btn-primary {
13
+ @include btn-outline-variant($btn-primary-color, $btn-primary-bg);
14
+ }
15
+
16
+ &.btn-info {
17
+ @include btn-outline-variant($btn-info-color, $btn-info-bg);
18
+ }
19
+
20
+ &.btn-success {
21
+ @include btn-outline-variant($btn-success-color, $btn-success-bg);
22
+ }
23
+
24
+ &.btn-warning {
25
+ @include btn-outline-variant($btn-warning-color, $btn-warning-bg);
26
+ }
27
+
28
+ &.btn-danger {
29
+ @include btn-outline-variant($btn-danger-color, $btn-danger-bg);
30
+ }
31
+ }
@@ -0,0 +1,72 @@
1
+ .text-white { color: #ffffff; }
2
+
3
+ .devise_sessions, .devise_registrations, .devise_passwords {
4
+ &.new, &.create {
5
+ @extend .devise;
6
+ }
7
+ }
8
+
9
+ .devise_passwords.edit, .devise_passwords.update {
10
+ @extend .devise;
11
+ }
12
+
13
+ // For compatibility with Flutie body_class
14
+ .devise-sessions-new, .devise-sessions-create, .devise-registrations-new, .devise-registrations-create, .devise-passwords-new, .devise-passwords-create, .devise-passwords-edit {
15
+ @extend .devise;
16
+ }
17
+
18
+ .devise {
19
+ @include gradient-vertical($devise-bg-gradient-start, $devise-bg-gradient-end);
20
+ background-attachment: fixed !important;
21
+ .devise-welcome {
22
+ @extend .text-center;
23
+ @extend .text-white;
24
+ text-shadow: 1px 1px 3px $gray-dark;
25
+ padding: 50px 0 20px 0;
26
+ h2 {
27
+ margin-bottom: 50px;
28
+ a {
29
+ @extend .text-white;
30
+ text-decoration: none;
31
+ @include transition(color 0.25s linear);
32
+ &:hover {
33
+ color: darken(#ffffff, 20%);
34
+ }
35
+ }
36
+ }
37
+ h2, h3 {
38
+ font-weight: lighter;
39
+ }
40
+ }
41
+ form {
42
+ @include border-top-radius($border-radius-base);
43
+ @include border-bottom-radius($border-radius-base);
44
+ border: 1px solid #ffffff;
45
+ background: #ffffff;
46
+ box-shadow: 1px 1px 3px $gray-dark;
47
+ padding: 40px 40px 20px;
48
+
49
+ #error_explanation {
50
+ @extend .alert;
51
+ @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text);
52
+ h2 {
53
+ margin-top: 0;
54
+ font-size: 15px;
55
+ }
56
+ }
57
+ .actions {
58
+ @extend .text-center;
59
+ padding-top: 30px;
60
+ }
61
+ }
62
+ .devise-links {
63
+ @extend .text-center;
64
+ @extend .text-white;
65
+ margin-top: 20px;
66
+ margin-bottom: 70px;
67
+ a {
68
+ text-decoration: underline;
69
+ @extend .text-white;
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,19 @@
1
+ .container-lg {
2
+ max-width: 1580px;
3
+ margin: 0 auto;
4
+ position: relative;
5
+ }
6
+
7
+ section {
8
+ padding: 80px 0 80px 0;
9
+ }
10
+
11
+ .row.no-gutters {
12
+ margin-right: 0;
13
+ margin-left: 0;
14
+ }
15
+ .row.no-gutters > [class^="col-"],
16
+ .row.no-gutters > [class*=" col-"] {
17
+ padding-right: 0;
18
+ padding-left: 0;
19
+ }
@@ -0,0 +1,33 @@
1
+ .list-group-button-links {
2
+
3
+ .list-group-item {
4
+ padding: 0;
5
+
6
+ .list-group-actions {
7
+ display: none;
8
+ position: absolute;
9
+ top: 50%;
10
+ right: 15px;
11
+ margin-top: -11px;
12
+ }
13
+
14
+ &:hover {
15
+ .list-group-actions {
16
+ display: block;
17
+ }
18
+ }
19
+
20
+ .list-group-link {
21
+ display: block;
22
+ padding: 10px 15px;
23
+ color: $list-group-link-color;
24
+
25
+ &:hover,
26
+ &:focus {
27
+ text-decoration: none;
28
+ color: $list-group-link-hover-color;
29
+ background-color: $list-group-hover-bg;
30
+ }
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,125 @@
1
+ .navbar-static-top ~ #main {
2
+ top: $navbar-height !important;
3
+ }
4
+
5
+ .navbar-static-top ~ .nav-menu {
6
+ top: $navbar-height;
7
+ }
8
+
9
+ .nav-menu {
10
+ width: $navbar-fixed-width;
11
+ position: fixed;
12
+ top: 0;
13
+ bottom: 0;
14
+ overflow-y: auto;
15
+ -webkit-overflow-scrolling: touch;
16
+
17
+ ~ #main {
18
+ position: absolute;
19
+ top: 0;
20
+ right: 0;
21
+ bottom: 0;
22
+ }
23
+
24
+ .nav-menu-header {
25
+
26
+ .nav-menu-brand {
27
+ display: block;
28
+ padding: 10px 15px;
29
+ text-decoration: none;
30
+ font-size: 18px;
31
+ }
32
+ }
33
+
34
+ &.nav-menu-fixed-left {
35
+ right: auto;
36
+ left: 0;
37
+
38
+ ~ #main {
39
+ right: 0;
40
+ left: $navbar-fixed-width;
41
+ }
42
+ }
43
+
44
+ &.nav-menu-fixed-right {
45
+ left: auto;
46
+ right: 0;
47
+
48
+ ~ #main {
49
+ left: 0;
50
+ right: $navbar-fixed-width;
51
+ }
52
+ }
53
+
54
+ &.nav-menu-default {
55
+ background: $navbar-default-bg;
56
+ color: $navbar-default-color;
57
+
58
+ .nav-menu-header {
59
+ .nav-menu-brand {
60
+ color: $navbar-default-brand-color;
61
+
62
+ &:hover {
63
+ color: $navbar-default-brand-hover-color;
64
+ background-color: $navbar-default-brand-hover-bg;
65
+ }
66
+ }
67
+ }
68
+
69
+ .nav-menu-nav {
70
+ li {
71
+ a {
72
+ color: $navbar-default-link-color;
73
+
74
+ &:hover {
75
+ color: $navbar-default-link-hover-color;
76
+ background-color: $navbar-default-link-hover-bg;
77
+ }
78
+ }
79
+
80
+ &.active {
81
+ a {
82
+ color: $navbar-default-link-active-color;
83
+ background-color: $navbar-default-link-active-bg;
84
+ }
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ &.nav-menu-inverse {
91
+ background: $navbar-inverse-bg;
92
+ color: $navbar-inverse-color;
93
+
94
+ .nav-menu-header {
95
+ .nav-menu-brand {
96
+ color: $navbar-inverse-brand-color;
97
+
98
+ &:hover {
99
+ color: $navbar-inverse-brand-hover-color;
100
+ background-color: $navbar-inverse-brand-hover-bg;
101
+ }
102
+ }
103
+ }
104
+
105
+ .nav-menu-nav {
106
+ li {
107
+ a {
108
+ color: $navbar-inverse-link-color;
109
+
110
+ &:hover {
111
+ color: $navbar-inverse-link-hover-color;
112
+ background-color: $navbar-inverse-link-hover-bg;
113
+ }
114
+ }
115
+
116
+ &.active {
117
+ a {
118
+ color: $navbar-inverse-link-active-color;
119
+ background-color: $navbar-inverse-link-active-bg;
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
125
+ }
@@ -0,0 +1,23 @@
1
+ .navbar-transparent-top {
2
+ @include transition(all 0.5s ease);
3
+ }
4
+
5
+ @media (min-width: $grid-float-breakpoint) {
6
+ .navbar-transparent-top {
7
+ &.affix-top {
8
+ background: transparent;
9
+ border: none;
10
+ padding-top: 10px;
11
+
12
+ .navbar-brand,
13
+ .nav > li > a,
14
+ .nav > li.active > a,
15
+ .navbar-nav > .open > a,
16
+ .navbar-nav > .open > a:hover,
17
+ .navbar-nav > .open > a:focus {
18
+ background-color: transparent;
19
+ color: $navbar-tranparent-link-color;
20
+ }
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,109 @@
1
+ @mixin off-canvas {
2
+ top: 0 !important;
3
+ @include transition(all 0.3s);
4
+ z-index: $zindex-modal;
5
+
6
+ ~ #off-canvas-overlay {
7
+ position: fixed;
8
+ top: 0;
9
+ right: 0;
10
+ bottom: 0;
11
+ left: 0;
12
+ visibility: hidden;
13
+ background-color: $modal-backdrop-bg;
14
+ z-index: $zindex-modal - 1;
15
+ @include opacity(0);
16
+ @include transition(all 0.3s);
17
+ }
18
+
19
+ &.in {
20
+ ~ #off-canvas-overlay {
21
+ visibility: visible;
22
+ @include opacity($modal-backdrop-opacity);
23
+ }
24
+ }
25
+ }
26
+
27
+ @mixin off-canvas-left {
28
+ left: -100% !important;
29
+ right: auto !important;
30
+
31
+ ~ #main {
32
+ left: 0 !important;
33
+ right: 0 !important;
34
+ }
35
+
36
+ &.in {
37
+ left: 0 !important;
38
+ }
39
+ }
40
+
41
+ @mixin off-canvas-right {
42
+ right: -100% !important;
43
+ left: auto !important;
44
+
45
+ ~ #main {
46
+ left: 0 !important;
47
+ right: 0 !important;
48
+ }
49
+
50
+ &.in {
51
+ right: 0 !important;
52
+ }
53
+ }
54
+
55
+ .off-canvas-left {
56
+ @include off-canvas;
57
+ @include off-canvas-left;
58
+ }
59
+
60
+ @media (max-width: $screen-xs-max) {
61
+ .off-canvas-left-xs {
62
+ @include off-canvas;
63
+ @include off-canvas-left;
64
+ }
65
+ }
66
+ @media (max-width: $screen-sm-max) {
67
+ .off-canvas-left-sm {
68
+ @include off-canvas;
69
+ @include off-canvas-left;
70
+ }
71
+ }
72
+ @media (max-width: $screen-md-max) {
73
+ .off-canvas-left-md {
74
+ @include off-canvas;
75
+ @include off-canvas-left;
76
+ }
77
+ }
78
+ .off-canvas-left-lg {
79
+ @include off-canvas;
80
+ @include off-canvas-left;
81
+ }
82
+
83
+ .off-canvas-right {
84
+ @include off-canvas;
85
+ @include off-canvas-right;
86
+ }
87
+
88
+ @media (max-width: $screen-xs-max) {
89
+ .off-canvas-right-xs {
90
+ @include off-canvas;
91
+ @include off-canvas-right;
92
+ }
93
+ }
94
+ @media (max-width: $screen-sm-max) {
95
+ .off-canvas-right-sm {
96
+ @include off-canvas;
97
+ @include off-canvas-right;
98
+ }
99
+ }
100
+ @media (max-width: $screen-md-max) {
101
+ .off-canvas-right-md {
102
+ @include off-canvas;
103
+ @include off-canvas-right;
104
+ }
105
+ }
106
+ .off-canvas-right-lg {
107
+ @include off-canvas;
108
+ @include off-canvas-right;
109
+ }