mtl 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/Gemfile +9 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +104 -0
  6. data/Rakefile +6 -0
  7. data/app/assets/javascripts/mtl/clickables.coffee +25 -0
  8. data/app/assets/javascripts/mtl/collapsible.coffee +43 -0
  9. data/app/assets/javascripts/mtl/configuration.coffee.erb +1 -0
  10. data/app/assets/javascripts/mtl/document_modal.coffee +130 -0
  11. data/app/assets/javascripts/mtl/dropdown.coffee +24 -0
  12. data/app/assets/javascripts/mtl/hooks.coffee +14 -0
  13. data/app/assets/javascripts/mtl/icon.coffee.erb +17 -0
  14. data/app/assets/javascripts/mtl/modal.coffee +32 -0
  15. data/app/assets/javascripts/mtl/select.coffee +44 -0
  16. data/app/assets/javascripts/mtl/templates.coffee +4 -0
  17. data/app/assets/javascripts/mtl/toc.coffee +31 -0
  18. data/app/assets/javascripts/mtl.js +42 -0
  19. data/app/assets/stylesheets/mtl/all.scss +69 -0
  20. data/app/assets/stylesheets/mtl/extend/_avatars.scss +37 -0
  21. data/app/assets/stylesheets/mtl/extend/_buttons.scss +31 -0
  22. data/app/assets/stylesheets/mtl/extend/_cards.scss +21 -0
  23. data/app/assets/stylesheets/mtl/extend/_chips.scss +3 -0
  24. data/app/assets/stylesheets/mtl/extend/_collection-files.scss +108 -0
  25. data/app/assets/stylesheets/mtl/extend/_document-modals.scss +95 -0
  26. data/app/assets/stylesheets/mtl/extend/_dropdown.scss +12 -0
  27. data/app/assets/stylesheets/mtl/extend/_forms.scss +66 -0
  28. data/app/assets/stylesheets/mtl/extend/_global.scss +77 -0
  29. data/app/assets/stylesheets/mtl/extend/_grid.scss +25 -0
  30. data/app/assets/stylesheets/mtl/extend/_material-icons.scss +37 -0
  31. data/app/assets/stylesheets/mtl/extend/_mixins.scss +10 -0
  32. data/app/assets/stylesheets/mtl/extend/_roboto-rails.scss +49 -0
  33. data/app/assets/stylesheets/mtl/extend/_side-nav.scss +22 -0
  34. data/app/assets/stylesheets/mtl/extend/_toc.scss +12 -0
  35. data/app/assets/stylesheets/mtl/extend/_typography.scss +32 -0
  36. data/app/assets/stylesheets/mtl/extend/forms/_input-fields.scss +50 -0
  37. data/app/assets/stylesheets/mtl/layouts/_default.scss +220 -0
  38. data/app/assets/stylesheets/mtl/layouts/_single.scss +25 -0
  39. data/app/views/mtl/header.html.erb +25 -0
  40. data/bin/coffeelint.rb +16 -0
  41. data/lib/generators/mtl/install_generator.rb +20 -0
  42. data/lib/generators/mtl/templates/_color.scss +410 -0
  43. data/lib/generators/mtl/templates/_variables.scss +330 -0
  44. data/lib/generators/mtl/templates/mtl.scss +8 -0
  45. data/lib/generators/mtl/templates/simple_form.rb +211 -0
  46. data/lib/mtl/rails/card_file_presenter.rb +70 -0
  47. data/lib/mtl/rails/view_helpers.rb +412 -0
  48. data/lib/mtl/simple_form/suffix.rb +52 -0
  49. data/lib/mtl/version.rb +6 -0
  50. data/lib/mtl.rb +38 -0
  51. data/mtl.gemspec +35 -0
  52. data/package.json +11 -0
  53. data/spec/mtl/rails/card_file_presenter_spec.rb +126 -0
  54. data/spec/mtl/rails/view_helpers_spec.rb +193 -0
  55. data/spec/mtl/simple_form/suffix_spec.rb +39 -0
  56. data/spec/mtl_spec.rb +34 -0
  57. data/spec/spec_helper.rb +18 -0
  58. data/spec/support/dom.rb +15 -0
  59. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.eot +0 -0
  60. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.ijmap +1 -0
  61. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.svg +2373 -0
  62. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.ttf +0 -0
  63. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.woff +0 -0
  64. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.woff2 +0 -0
  65. data/vendor/assets/fonts/roboto/Roboto-Bold.eot +0 -0
  66. data/vendor/assets/fonts/roboto/Roboto-Bold.ttf +0 -0
  67. data/vendor/assets/fonts/roboto/Roboto-Bold.woff +0 -0
  68. data/vendor/assets/fonts/roboto/Roboto-Bold.woff2 +0 -0
  69. data/vendor/assets/fonts/roboto/Roboto-Light.eot +0 -0
  70. data/vendor/assets/fonts/roboto/Roboto-Light.ttf +0 -0
  71. data/vendor/assets/fonts/roboto/Roboto-Light.woff +0 -0
  72. data/vendor/assets/fonts/roboto/Roboto-Light.woff2 +0 -0
  73. data/vendor/assets/fonts/roboto/Roboto-Medium.eot +0 -0
  74. data/vendor/assets/fonts/roboto/Roboto-Medium.ttf +0 -0
  75. data/vendor/assets/fonts/roboto/Roboto-Medium.woff +0 -0
  76. data/vendor/assets/fonts/roboto/Roboto-Medium.woff2 +0 -0
  77. data/vendor/assets/fonts/roboto/Roboto-Regular.eot +0 -0
  78. data/vendor/assets/fonts/roboto/Roboto-Regular.ttf +0 -0
  79. data/vendor/assets/fonts/roboto/Roboto-Regular.woff +0 -0
  80. data/vendor/assets/fonts/roboto/Roboto-Regular.woff2 +0 -0
  81. data/vendor/assets/fonts/roboto/Roboto-Thin.eot +0 -0
  82. data/vendor/assets/fonts/roboto/Roboto-Thin.ttf +0 -0
  83. data/vendor/assets/fonts/roboto/Roboto-Thin.woff +0 -0
  84. data/vendor/assets/fonts/roboto/Roboto-Thin.woff2 +0 -0
  85. data/vendor/assets/javascripts/lodash.js +16607 -0
  86. data/vendor/assets/javascripts/materialize/animation.js +9 -0
  87. data/vendor/assets/javascripts/materialize/buttons.js +91 -0
  88. data/vendor/assets/javascripts/materialize/cards.js +26 -0
  89. data/vendor/assets/javascripts/materialize/carousel.js +454 -0
  90. data/vendor/assets/javascripts/materialize/character_counter.js +72 -0
  91. data/vendor/assets/javascripts/materialize/chips.js +267 -0
  92. data/vendor/assets/javascripts/materialize/collapsible.js +160 -0
  93. data/vendor/assets/javascripts/materialize/date_picker/picker.date.js +1430 -0
  94. data/vendor/assets/javascripts/materialize/date_picker/picker.js +1123 -0
  95. data/vendor/assets/javascripts/materialize/dropdown.js +265 -0
  96. data/vendor/assets/javascripts/materialize/forms.js +681 -0
  97. data/vendor/assets/javascripts/materialize/global.js +45 -0
  98. data/vendor/assets/javascripts/materialize/hammer.min.js +1 -0
  99. data/vendor/assets/javascripts/materialize/init.js +173 -0
  100. data/vendor/assets/javascripts/materialize/initial.js +11 -0
  101. data/vendor/assets/javascripts/materialize/jquery.easing.1.3.js +205 -0
  102. data/vendor/assets/javascripts/materialize/jquery.hammer.js +33 -0
  103. data/vendor/assets/javascripts/materialize/jquery.timeago.min.js +1 -0
  104. data/vendor/assets/javascripts/materialize/leanModal.js +192 -0
  105. data/vendor/assets/javascripts/materialize/materialbox.js +269 -0
  106. data/vendor/assets/javascripts/materialize/parallax.js +58 -0
  107. data/vendor/assets/javascripts/materialize/prism.js +8 -0
  108. data/vendor/assets/javascripts/materialize/pushpin.js +71 -0
  109. data/vendor/assets/javascripts/materialize/scrollFire.js +48 -0
  110. data/vendor/assets/javascripts/materialize/scrollspy.js +283 -0
  111. data/vendor/assets/javascripts/materialize/sideNav.js +352 -0
  112. data/vendor/assets/javascripts/materialize/slider.js +321 -0
  113. data/vendor/assets/javascripts/materialize/tabs.js +148 -0
  114. data/vendor/assets/javascripts/materialize/toasts.js +136 -0
  115. data/vendor/assets/javascripts/materialize/tooltip.js +230 -0
  116. data/vendor/assets/javascripts/materialize/transitions.js +169 -0
  117. data/vendor/assets/javascripts/materialize/velocity.min.js +5 -0
  118. data/vendor/assets/javascripts/materialize/waves.js +338 -0
  119. data/vendor/assets/javascripts/pdfobject.js +254 -0
  120. data/vendor/assets/stylesheets/materialize/_buttons.scss +211 -0
  121. data/vendor/assets/stylesheets/materialize/_cards.scss +185 -0
  122. data/vendor/assets/stylesheets/materialize/_carousel.scss +85 -0
  123. data/vendor/assets/stylesheets/materialize/_chips.scss +74 -0
  124. data/vendor/assets/stylesheets/materialize/_collapsible.scss +90 -0
  125. data/vendor/assets/stylesheets/materialize/_color.scss +412 -0
  126. data/vendor/assets/stylesheets/materialize/_dropdown.scss +57 -0
  127. data/vendor/assets/stylesheets/materialize/_global.scss +781 -0
  128. data/vendor/assets/stylesheets/materialize/_grid.scss +147 -0
  129. data/vendor/assets/stylesheets/materialize/_icons-material-design.scss +5 -0
  130. data/vendor/assets/stylesheets/materialize/_materialbox.scss +42 -0
  131. data/vendor/assets/stylesheets/materialize/_mixins.scss +5 -0
  132. data/vendor/assets/stylesheets/materialize/_modal.scss +90 -0
  133. data/vendor/assets/stylesheets/materialize/_navbar.scss +182 -0
  134. data/vendor/assets/stylesheets/materialize/_normalize.scss +424 -0
  135. data/vendor/assets/stylesheets/materialize/_prefixer.scss +384 -0
  136. data/vendor/assets/stylesheets/materialize/_preloader.scss +334 -0
  137. data/vendor/assets/stylesheets/materialize/_roboto.scss +49 -0
  138. data/vendor/assets/stylesheets/materialize/_sideNav.scss +219 -0
  139. data/vendor/assets/stylesheets/materialize/_slider.scss +92 -0
  140. data/vendor/assets/stylesheets/materialize/_table_of_contents.scss +33 -0
  141. data/vendor/assets/stylesheets/materialize/_tabs.scss +56 -0
  142. data/vendor/assets/stylesheets/materialize/_toast.scss +65 -0
  143. data/vendor/assets/stylesheets/materialize/_tooltip.scss +32 -0
  144. data/vendor/assets/stylesheets/materialize/_typography.scss +61 -0
  145. data/vendor/assets/stylesheets/materialize/_variables.scss +313 -0
  146. data/vendor/assets/stylesheets/materialize/_waves.scss +177 -0
  147. data/vendor/assets/stylesheets/materialize/date_picker/_default.date.scss +435 -0
  148. data/vendor/assets/stylesheets/materialize/date_picker/_default.scss +201 -0
  149. data/vendor/assets/stylesheets/materialize/date_picker/_default.time.scss +125 -0
  150. data/vendor/assets/stylesheets/materialize/forms/_checkboxes.scss +220 -0
  151. data/vendor/assets/stylesheets/materialize/forms/_file-input.scss +38 -0
  152. data/vendor/assets/stylesheets/materialize/forms/_forms.scss +22 -0
  153. data/vendor/assets/stylesheets/materialize/forms/_input-fields.scss +273 -0
  154. data/vendor/assets/stylesheets/materialize/forms/_radio-buttons.scss +119 -0
  155. data/vendor/assets/stylesheets/materialize/forms/_range.scss +159 -0
  156. data/vendor/assets/stylesheets/materialize/forms/_select.scss +116 -0
  157. data/vendor/assets/stylesheets/materialize/forms/_switches.scss +78 -0
  158. metadata +309 -0
@@ -0,0 +1,220 @@
1
+ // default layout: responsive with sidebar
2
+ .mtl-layout-default {
3
+ background-color: $mtl-layout-default-bg;
4
+ height: 100%;
5
+
6
+ // sidebar logic
7
+ main {
8
+ padding-left: $mtl-layout-default-sidenav-width;
9
+ min-height: 100%;
10
+ display: flex;
11
+ flex-direction: column;
12
+
13
+ @media #{$medium-and-down} {
14
+ padding: 0;
15
+ }
16
+ }
17
+ }
18
+
19
+ // header area
20
+ .mtl-layout-default-header {
21
+ position: relative;
22
+ z-index: 2;
23
+ height: auto;
24
+ background-color: $mtl-layout-default-header-bg;
25
+ color: $mtl-layout-default-header-text;
26
+ @include clearafter;
27
+
28
+ .btn-more {
29
+ color: $mtl-layout-default-header-text;
30
+ }
31
+
32
+ .page-title {
33
+ float: left;
34
+ margin: 0;
35
+ line-height: 64px;
36
+ padding: 0 1.5rem;
37
+
38
+ @media #{$medium-and-down} {
39
+ padding-left: .5rem;
40
+ }
41
+ @media #{$small-and-down} {
42
+ line-height: 56px;
43
+ }
44
+ }
45
+
46
+ nav {
47
+ height: auto;
48
+ background-color: $mtl-layout-default-header-bg;
49
+ color: $mtl-layout-default-header-text;
50
+
51
+ .select-wrapper {
52
+ margin: 14px 0 0 30px;
53
+ height: 32px;
54
+ overflow: visible;
55
+
56
+ .caret {
57
+ top: 0;
58
+ height: 100%;
59
+ line-height: 32px;
60
+ }
61
+ }
62
+ .select-dropdown {
63
+ margin: 0;
64
+ line-height: 32px;
65
+ height: 32px;
66
+ }
67
+ .dropdown-content {
68
+ height: auto;
69
+ }
70
+ }
71
+
72
+ .nav-wrapper {
73
+ @include clearafter;
74
+
75
+ .row {
76
+ margin: 0;
77
+ }
78
+ }
79
+
80
+ &.no-padding-bottom {
81
+ padding-bottom: 0;
82
+ }
83
+
84
+ .fixed-action-btn {
85
+ position: absolute;
86
+ right: 34px;
87
+ bottom: 0;
88
+ padding: 0;
89
+ transform: translate(0, 50%);
90
+ }
91
+ p {
92
+ margin: 0;
93
+ }
94
+
95
+ &-toggle {
96
+ width: 64px;
97
+ text-align: center;
98
+
99
+ i {
100
+ width: 100%;
101
+ }
102
+ }
103
+ // &-back {}
104
+
105
+ // prevent overlap on the right in fixed navbar mode
106
+ @media #{$large-and-up} {
107
+ &.navbar-fixed {
108
+ > nav {
109
+ width: auto;
110
+ left: $mtl-layout-default-sidenav-width;
111
+ right: 0;
112
+ }
113
+ }
114
+ }
115
+ }
116
+
117
+ // content area
118
+ .mtl-layout-default-content {
119
+ padding: 1.5rem;
120
+ box-flex: 1;
121
+ flex: 1;
122
+ justify-content: space-between;
123
+
124
+ &.half-padding {
125
+ padding: .75rem;
126
+ }
127
+ &.no-padding {
128
+ padding: 0;
129
+ }
130
+ &.no-padding-top {
131
+ padding-top: 0;
132
+ }
133
+ &.no-padding-left {
134
+ padding-left: 0;
135
+ }
136
+ &.no-padding-right {
137
+ padding-right: 0;
138
+ }
139
+ &.no-padding-bottom {
140
+ padding-bottom: 0;
141
+ }
142
+
143
+ > .row:last-child {
144
+ margin-bottom: 0;
145
+ }
146
+ }
147
+
148
+
149
+ // container override
150
+ .mtl-layout-default {
151
+ .container {
152
+ width: 100%;
153
+ max-width: 896px;
154
+ }
155
+
156
+ // header nav toggler
157
+ > nav .button-collapse {
158
+ padding: 0 1.3rem;
159
+ }
160
+
161
+ // sidebar
162
+ .side-nav {
163
+ width: $mtl-layout-default-sidenav-width;
164
+ background-color: $mtl-layout-default-sidenav-bg;
165
+ color: $mtl-layout-default-sidenav-text;
166
+
167
+ a {
168
+ font-size: 1rem;
169
+ height: $sidenav-item-height;
170
+ line-height: $sidenav-item-height;
171
+
172
+ .material-icons {
173
+ width: auto;
174
+ height: $sidenav-item-height;
175
+ line-height: $sidenav-item-height;
176
+ margin-right: 8px;
177
+ }
178
+ }
179
+
180
+ // user block
181
+ &-user {
182
+ padding: 20px;
183
+ background-color: $mtl-layout-default-usernav-bg;
184
+ color: $mtl-layout-default-usernav-text;
185
+
186
+ a {
187
+ display: inline-block;
188
+ padding: 0;
189
+ }
190
+
191
+ // account info
192
+ &-infos {
193
+ margin: 8px 0 0 !important;
194
+ display: block !important;
195
+ height: auto !important;
196
+ line-height: 18px !important;
197
+ }
198
+ &-name {
199
+ display: block;
200
+ font-weight: bold;
201
+ line-height: 18px;
202
+ }
203
+ &-mail {
204
+ display: block;
205
+ line-height: 18px;
206
+ }
207
+
208
+ // toggle icon
209
+ //&-toggle {}
210
+ }
211
+ &-divider {
212
+ padding: 10px 0;
213
+ }
214
+
215
+
216
+ .active a {
217
+ font-weight: 400;
218
+ }
219
+ }
220
+ }
@@ -0,0 +1,25 @@
1
+ // single layout: centered content block, e.g.: logins
2
+ .mtl-layout-single {
3
+ min-height: 100%;
4
+ background-color: $mtl-layout-single-bg;
5
+
6
+ &-header {
7
+ background-color: $mtl-layout-single-header-bg;
8
+ padding: 50px 20px;
9
+
10
+ img {
11
+ width: auto;
12
+ height: auto;
13
+ display: block;
14
+ max-width: 100%;
15
+ margin: 0 auto;
16
+ }
17
+ }
18
+
19
+ &-content {
20
+ margin-top: -38px;
21
+ }
22
+
23
+ // &-footer {}
24
+
25
+ }
@@ -0,0 +1,25 @@
1
+ <header class="<%= mtl_class %>">
2
+ <nav>
3
+ <div class="nav-wrapper">
4
+ <%- if mtl_back %>
5
+ <%= link_to mtl_back, class: 'mtl-layout-default-header-back left' do %>
6
+ <i class="material-icons">arrow_back</i>
7
+ <%- end %>
8
+ <%- elsif mtl_menu %>
9
+ <%= link_to "##{mtl_menu}", class: 'mtl-layout-default-header-toggle left hide-on-large-only', 'data-activates': mtl_menu, 'data-mtl-nav': 'side' do %>
10
+ <i class="material-icons">menu</i>
11
+ <%- end %>
12
+ <%- end %>
13
+
14
+ <%- if mtl_title %>
15
+ <h1 class="page-title">
16
+ <%= mtl_title %>
17
+ </h1>
18
+ <%- end %>
19
+
20
+ <%- if mtl_content %>
21
+ <%= mtl_content %>
22
+ <%- end %>
23
+ </div>
24
+ </nav>
25
+ </header>
data/bin/coffeelint.rb ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'coffeelint.rb' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require "pathname"
10
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require "rubygems"
14
+ require "bundler/setup"
15
+
16
+ load Gem.bin_path("coffeelint", "coffeelint.rb")
@@ -0,0 +1,20 @@
1
+ require 'rails'
2
+
3
+ module Mtl
4
+ module Generators
5
+ class InstallGenerator < ::Rails::Generators::Base
6
+ source_root File.join File.dirname(__FILE__), 'templates'
7
+ class_option :simple_form, type: :boolean, default: true
8
+
9
+ # @!visibility private
10
+ def copy_stylesheets
11
+ template 'mtl.scss', 'app/assets/stylesheets/mtl.scss'
12
+ template '_color.scss', 'app/assets/stylesheets/mtl/_color.scss'
13
+ template '_variables.scss', 'app/assets/stylesheets/mtl/_variables.scss'
14
+
15
+ return unless options['simple_form']
16
+ template 'simple_form.rb', 'config/initializers/simple_form.rb'
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,410 @@
1
+ // Utility Color Classes
2
+
3
+ //.success {
4
+ //
5
+ //}
6
+
7
+ // Google Color Palette defined: http://www.google.com/design/spec/style/color.html
8
+
9
+
10
+ $materialize-red: (
11
+ "base": #e51c23,
12
+ "lighten-5": #fdeaeb,
13
+ "lighten-4": #f8c1c3,
14
+ "lighten-3": #f3989b,
15
+ "lighten-2": #ee6e73,
16
+ "lighten-1": #ea454b,
17
+ "darken-1": #d0181e,
18
+ "darken-2": #b9151b,
19
+ "darken-3": #a21318,
20
+ "darken-4": #8b1014,
21
+ );
22
+
23
+ $red: (
24
+ "base": #f44336,
25
+ "lighten-5": #ffebee,
26
+ "lighten-4": #ffcdd2,
27
+ "lighten-3": #ef9a9a,
28
+ "lighten-2": #e57373,
29
+ "lighten-1": #ef5350,
30
+ "darken-1": #e53935,
31
+ "darken-2": #d32f2f,
32
+ "darken-3": #c62828,
33
+ "darken-4": #b71c1c,
34
+ "accent-1": #ff8a80,
35
+ "accent-2": #ff5252,
36
+ "accent-3": #ff1744,
37
+ "accent-4": #d50000
38
+ );
39
+
40
+ $pink: (
41
+ "base": #e91e63,
42
+ "lighten-5": #fce4ec,
43
+ "lighten-4": #f8bbd0,
44
+ "lighten-3": #f48fb1,
45
+ "lighten-2": #f06292,
46
+ "lighten-1": #ec407a,
47
+ "darken-1": #d81b60,
48
+ "darken-2": #c2185b,
49
+ "darken-3": #ad1457,
50
+ "darken-4": #880e4f,
51
+ "accent-1": #ff80ab,
52
+ "accent-2": #ff4081,
53
+ "accent-3": #f50057,
54
+ "accent-4": #c51162
55
+ );
56
+
57
+ $purple: (
58
+ "base": #9c27b0,
59
+ "lighten-5": #f3e5f5,
60
+ "lighten-4": #e1bee7,
61
+ "lighten-3": #ce93d8,
62
+ "lighten-2": #ba68c8,
63
+ "lighten-1": #ab47bc,
64
+ "darken-1": #8e24aa,
65
+ "darken-2": #7b1fa2,
66
+ "darken-3": #6a1b9a,
67
+ "darken-4": #4a148c,
68
+ "accent-1": #ea80fc,
69
+ "accent-2": #e040fb,
70
+ "accent-3": #d500f9,
71
+ "accent-4": #a0f
72
+ );
73
+
74
+ $deep-purple: (
75
+ "base": #673ab7,
76
+ "lighten-5": #ede7f6,
77
+ "lighten-4": #d1c4e9,
78
+ "lighten-3": #b39ddb,
79
+ "lighten-2": #9575cd,
80
+ "lighten-1": #7e57c2,
81
+ "darken-1": #5e35b1,
82
+ "darken-2": #512da8,
83
+ "darken-3": #4527a0,
84
+ "darken-4": #311b92,
85
+ "accent-1": #b388ff,
86
+ "accent-2": #7c4dff,
87
+ "accent-3": #651fff,
88
+ "accent-4": #6200ea
89
+ );
90
+
91
+ $indigo: (
92
+ "base": #3f51b5,
93
+ "lighten-5": #e8eaf6,
94
+ "lighten-4": #c5cae9,
95
+ "lighten-3": #9fa8da,
96
+ "lighten-2": #7986cb,
97
+ "lighten-1": #5c6bc0,
98
+ "darken-1": #3949ab,
99
+ "darken-2": #303f9f,
100
+ "darken-3": #283593,
101
+ "darken-4": #1a237e,
102
+ "accent-1": #8c9eff,
103
+ "accent-2": #536dfe,
104
+ "accent-3": #3d5afe,
105
+ "accent-4": #304ffe
106
+ );
107
+
108
+ $blue: (
109
+ "base": #2196f3,
110
+ "lighten-5": #e3f2fd,
111
+ "lighten-4": #bbdefb,
112
+ "lighten-3": #90caf9,
113
+ "lighten-2": #64b5f6,
114
+ "lighten-1": #42a5f5,
115
+ "darken-1": #1e88e5,
116
+ "darken-2": #1976d2,
117
+ "darken-3": #1565c0,
118
+ "darken-4": #0d47a1,
119
+ "accent-1": #82b1ff,
120
+ "accent-2": #448aff,
121
+ "accent-3": #2979ff,
122
+ "accent-4": #2962ff
123
+ );
124
+
125
+ $light-blue: (
126
+ "base": #03a9f4,
127
+ "lighten-5": #e1f5fe,
128
+ "lighten-4": #b3e5fc,
129
+ "lighten-3": #81d4fa,
130
+ "lighten-2": #4fc3f7,
131
+ "lighten-1": #29b6f6,
132
+ "darken-1": #039be5,
133
+ "darken-2": #0288d1,
134
+ "darken-3": #0277bd,
135
+ "darken-4": #01579b,
136
+ "accent-1": #80d8ff,
137
+ "accent-2": #40c4ff,
138
+ "accent-3": #00b0ff,
139
+ "accent-4": #0091ea
140
+ );
141
+
142
+ $cyan: (
143
+ "base": #00bcd4,
144
+ "lighten-5": #e0f7fa,
145
+ "lighten-4": #b2ebf2,
146
+ "lighten-3": #80deea,
147
+ "lighten-2": #4dd0e1,
148
+ "lighten-1": #26c6da,
149
+ "darken-1": #00acc1,
150
+ "darken-2": #0097a7,
151
+ "darken-3": #00838f,
152
+ "darken-4": #006064,
153
+ "accent-1": #84ffff,
154
+ "accent-2": #18ffff,
155
+ "accent-3": #00e5ff,
156
+ "accent-4": #00b8d4
157
+ );
158
+
159
+ $teal: (
160
+ "base": #009688,
161
+ "lighten-5": #e0f2f1,
162
+ "lighten-4": #b2dfdb,
163
+ "lighten-3": #80cbc4,
164
+ "lighten-2": #4db6ac,
165
+ "lighten-1": #26a69a,
166
+ "darken-1": #00897b,
167
+ "darken-2": #00796b,
168
+ "darken-3": #00695c,
169
+ "darken-4": #004d40,
170
+ "accent-1": #a7ffeb,
171
+ "accent-2": #64ffda,
172
+ "accent-3": #1de9b6,
173
+ "accent-4": #00bfa5
174
+ );
175
+
176
+ $green: (
177
+ "base": #4caf50,
178
+ "lighten-5": #e8f5e9,
179
+ "lighten-4": #c8e6c9,
180
+ "lighten-3": #a5d6a7,
181
+ "lighten-2": #81c784,
182
+ "lighten-1": #66bb6a,
183
+ "darken-1": #43a047,
184
+ "darken-2": #388e3c,
185
+ "darken-3": #2e7d32,
186
+ "darken-4": #1b5e20,
187
+ "accent-1": #b9f6ca,
188
+ "accent-2": #69f0ae,
189
+ "accent-3": #00e676,
190
+ "accent-4": #00c853
191
+ );
192
+
193
+ $light-green: (
194
+ "base": #8bc34a,
195
+ "lighten-5": #f1f8e9,
196
+ "lighten-4": #dcedc8,
197
+ "lighten-3": #c5e1a5,
198
+ "lighten-2": #aed581,
199
+ "lighten-1": #9ccc65,
200
+ "darken-1": #7cb342,
201
+ "darken-2": #689f38,
202
+ "darken-3": #558b2f,
203
+ "darken-4": #33691e,
204
+ "accent-1": #ccff90,
205
+ "accent-2": #b2ff59,
206
+ "accent-3": #76ff03,
207
+ "accent-4": #64dd17
208
+ );
209
+
210
+ $lime: (
211
+ "base": #cddc39,
212
+ "lighten-5": #f9fbe7,
213
+ "lighten-4": #f0f4c3,
214
+ "lighten-3": #e6ee9c,
215
+ "lighten-2": #dce775,
216
+ "lighten-1": #d4e157,
217
+ "darken-1": #c0ca33,
218
+ "darken-2": #afb42b,
219
+ "darken-3": #9e9d24,
220
+ "darken-4": #827717,
221
+ "accent-1": #f4ff81,
222
+ "accent-2": #eeff41,
223
+ "accent-3": #c6ff00,
224
+ "accent-4": #aeea00
225
+ );
226
+
227
+ $yellow: (
228
+ "base": #ffeb3b,
229
+ "lighten-5": #fffde7,
230
+ "lighten-4": #fff9c4,
231
+ "lighten-3": #fff59d,
232
+ "lighten-2": #fff176,
233
+ "lighten-1": #ffee58,
234
+ "darken-1": #fdd835,
235
+ "darken-2": #fbc02d,
236
+ "darken-3": #f9a825,
237
+ "darken-4": #f57f17,
238
+ "accent-1": #ffff8d,
239
+ "accent-2": #ff0,
240
+ "accent-3": #ffea00,
241
+ "accent-4": #ffd600
242
+ );
243
+
244
+ $amber: (
245
+ "base": #ffc107,
246
+ "lighten-5": #fff8e1,
247
+ "lighten-4": #ffecb3,
248
+ "lighten-3": #ffe082,
249
+ "lighten-2": #ffd54f,
250
+ "lighten-1": #ffca28,
251
+ "darken-1": #ffb300,
252
+ "darken-2": #ffa000,
253
+ "darken-3": #ff8f00,
254
+ "darken-4": #ff6f00,
255
+ "accent-1": #ffe57f,
256
+ "accent-2": #ffd740,
257
+ "accent-3": #ffc400,
258
+ "accent-4": #ffab00
259
+ );
260
+
261
+ $orange: (
262
+ "base": #ff9800,
263
+ "lighten-5": #fff3e0,
264
+ "lighten-4": #ffe0b2,
265
+ "lighten-3": #ffcc80,
266
+ "lighten-2": #ffb74d,
267
+ "lighten-1": #ffa726,
268
+ "darken-1": #fb8c00,
269
+ "darken-2": #f57c00,
270
+ "darken-3": #ef6c00,
271
+ "darken-4": #e65100,
272
+ "accent-1": #ffd180,
273
+ "accent-2": #ffab40,
274
+ "accent-3": #ff9100,
275
+ "accent-4": #ff6d00
276
+ );
277
+
278
+ $deep-orange: (
279
+ "base": #ff5722,
280
+ "lighten-5": #fbe9e7,
281
+ "lighten-4": #ffccbc,
282
+ "lighten-3": #ffab91,
283
+ "lighten-2": #ff8a65,
284
+ "lighten-1": #ff7043,
285
+ "darken-1": #f4511e,
286
+ "darken-2": #e64a19,
287
+ "darken-3": #d84315,
288
+ "darken-4": #bf360c,
289
+ "accent-1": #ff9e80,
290
+ "accent-2": #ff6e40,
291
+ "accent-3": #ff3d00,
292
+ "accent-4": #dd2c00
293
+ );
294
+
295
+ $brown: (
296
+ "base": #795548,
297
+ "lighten-5": #efebe9,
298
+ "lighten-4": #d7ccc8,
299
+ "lighten-3": #bcaaa4,
300
+ "lighten-2": #a1887f,
301
+ "lighten-1": #8d6e63,
302
+ "darken-1": #6d4c41,
303
+ "darken-2": #5d4037,
304
+ "darken-3": #4e342e,
305
+ "darken-4": #3e2723
306
+ );
307
+
308
+ $blue-grey: (
309
+ "base": #607d8b,
310
+ "lighten-5": #eceff1,
311
+ "lighten-4": #cfd8dc,
312
+ "lighten-3": #b0bec5,
313
+ "lighten-2": #90a4ae,
314
+ "lighten-1": #78909c,
315
+ "darken-1": #546e7a,
316
+ "darken-2": #455a64,
317
+ "darken-3": #37474f,
318
+ "darken-4": #263238
319
+ );
320
+
321
+ $grey: (
322
+ "base": #9e9e9e,
323
+ "lighten-5": #fafafa,
324
+ "lighten-4": #f5f5f5,
325
+ "lighten-3": #eee,
326
+ "lighten-2": #e0e0e0,
327
+ "lighten-1": #bdbdbd,
328
+ "darken-1": #757575,
329
+ "darken-2": #616161,
330
+ "darken-3": #424242,
331
+ "darken-4": #212121
332
+ );
333
+
334
+ $shades: (
335
+ "black": #000,
336
+ "white": #fff,
337
+ "transparent": transparent
338
+ );
339
+
340
+ $colors: (
341
+ "materialize-red": $materialize-red,
342
+ "red": $red,
343
+ "pink": $pink,
344
+ "purple": $purple,
345
+ "deep-purple": $deep-purple,
346
+ "indigo": $indigo,
347
+ "blue": $blue,
348
+ "light-blue": $light-blue,
349
+ "cyan": $cyan,
350
+ "teal": $teal,
351
+ "green": $green,
352
+ "light-green": $light-green,
353
+ "lime": $lime,
354
+ "yellow": $yellow,
355
+ "amber": $amber,
356
+ "orange": $orange,
357
+ "deep-orange": $deep-orange,
358
+ "brown": $brown,
359
+ "blue-grey": $blue-grey,
360
+ "grey": $grey,
361
+ "shades": $shades
362
+ );
363
+
364
+
365
+ // Color Classes
366
+ // scss-lint:disable NameFormat
367
+ @each $color_name, $color in $colors {
368
+ @each $color_type, $color_value in $color {
369
+ @if $color_type == 'base' {
370
+ .#{$color_name} {
371
+ background-color: $color_value !important;
372
+ }
373
+ .#{$color_name}-text {
374
+ color: $color_value !important;
375
+ }
376
+ } @else {
377
+ .#{$color_name}.#{$color_type} {
378
+ background-color: $color_value !important;
379
+ }
380
+ .#{$color_name}-text.text-#{$color_type} {
381
+ color: $color_value !important;
382
+ }
383
+ }
384
+ }
385
+ }
386
+
387
+ // Shade classes
388
+ @each $color, $color_value in $shades {
389
+ .#{$color} {
390
+ background-color: $color_value !important;
391
+ }
392
+ .#{$color}-text {
393
+ color: $color_value !important;
394
+ }
395
+ }
396
+
397
+
398
+ // usage: color("name_of_color", "type_of_color")
399
+ // to avoid to repeating map-get($colors, ...)
400
+ @function color($color, $type) {
401
+ @if map-has-key($colors, $color) {
402
+ $curr_color: map-get($colors, $color);
403
+ @if map-has-key($curr_color, $type) {
404
+ @return map-get($curr_color, $type);
405
+ }
406
+ }
407
+ @warn "Unknown `#{name}` in $colors.";
408
+ @return null;
409
+ }
410
+ // scss-lint:enable NameFormat