@expressivecss/expressive 0.1.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +82 -0
  3. package/dist/css/expressive.css +9914 -0
  4. package/dist/css/expressive.min.css +1 -0
  5. package/dist/js/components/autocomplete.d.ts +152 -0
  6. package/dist/js/components/buttons.d.ts +66 -0
  7. package/dist/js/components/cards.d.ts +50 -0
  8. package/dist/js/components/carousel.d.ts +131 -0
  9. package/dist/js/components/chips.d.ts +135 -0
  10. package/dist/js/components/collapsible.d.ts +74 -0
  11. package/dist/js/components/datepicker.d.ts +336 -0
  12. package/dist/js/components/dropdown.d.ts +148 -0
  13. package/dist/js/components/index.d.ts +21 -0
  14. package/dist/js/components/materialbox.d.ts +97 -0
  15. package/dist/js/components/modal.d.ts +45 -0
  16. package/dist/js/components/parallax.d.ts +40 -0
  17. package/dist/js/components/pushpin.d.ts +51 -0
  18. package/dist/js/components/scrollspy.d.ts +80 -0
  19. package/dist/js/components/sidenav.d.ts +125 -0
  20. package/dist/js/components/slider.d.ts +101 -0
  21. package/dist/js/components/tabs.d.ts +80 -0
  22. package/dist/js/components/tap-target.d.ts +58 -0
  23. package/dist/js/components/timepicker.d.ts +207 -0
  24. package/dist/js/components/toast.d.ts +93 -0
  25. package/dist/js/components/tooltip.d.ts +117 -0
  26. package/dist/js/components/waves.d.ts +15 -0
  27. package/dist/js/expressive.js +8239 -0
  28. package/dist/js/expressive.js.map +1 -0
  29. package/dist/js/expressive.min.js +2 -0
  30. package/dist/js/expressive.min.js.map +1 -0
  31. package/dist/js/expressive.mjs +8206 -0
  32. package/dist/js/expressive.mjs.map +1 -0
  33. package/dist/js/forms/character-counter.d.ts +36 -0
  34. package/dist/js/forms/forms.d.ts +17 -0
  35. package/dist/js/forms/index.d.ts +4 -0
  36. package/dist/js/forms/range.d.ts +40 -0
  37. package/dist/js/forms/select.d.ts +77 -0
  38. package/dist/js/foundation/component.d.ts +73 -0
  39. package/dist/js/foundation/index.d.ts +2 -0
  40. package/dist/js/foundation/utils.d.ts +122 -0
  41. package/dist/js/index.d.ts +52 -0
  42. package/dist/js/plugins/docked-display.d.ts +34 -0
  43. package/dist/js/plugins/index.d.ts +1 -0
  44. package/package.json +71 -0
  45. package/src/scss/components/_appbar.scss +454 -0
  46. package/src/scss/components/_badges.scss +77 -0
  47. package/src/scss/components/_breadcrumb.scss +27 -0
  48. package/src/scss/components/_buttons.scss +412 -0
  49. package/src/scss/components/_cards.scss +267 -0
  50. package/src/scss/components/_carousel.scss +93 -0
  51. package/src/scss/components/_chips.scss +147 -0
  52. package/src/scss/components/_collapsible.scss +84 -0
  53. package/src/scss/components/_collection.scss +114 -0
  54. package/src/scss/components/_date-picker.scss +268 -0
  55. package/src/scss/components/_dropdown.scss +98 -0
  56. package/src/scss/components/_index.scss +28 -0
  57. package/src/scss/components/_material-box.scss +42 -0
  58. package/src/scss/components/_material-icons.scss +6 -0
  59. package/src/scss/components/_modal.scss +84 -0
  60. package/src/scss/components/_pagination.scss +45 -0
  61. package/src/scss/components/_parallax.scss +26 -0
  62. package/src/scss/components/_preloader.scss +422 -0
  63. package/src/scss/components/_pulse.scss +35 -0
  64. package/src/scss/components/_sidenav.scss +229 -0
  65. package/src/scss/components/_slider.scss +119 -0
  66. package/src/scss/components/_table-of-contents.scss +32 -0
  67. package/src/scss/components/_tabs.scss +176 -0
  68. package/src/scss/components/_tap-target.scss +102 -0
  69. package/src/scss/components/_time-picker.scss +294 -0
  70. package/src/scss/components/_toast.scss +70 -0
  71. package/src/scss/components/_tooltip.scss +49 -0
  72. package/src/scss/components/_transitions.scss +19 -0
  73. package/src/scss/components/_video.scss +15 -0
  74. package/src/scss/expressive.scss +7 -0
  75. package/src/scss/forms/_checkboxes.scss +199 -0
  76. package/src/scss/forms/_file-input.scss +41 -0
  77. package/src/scss/forms/_index.scss +17 -0
  78. package/src/scss/forms/_input-fields.scss +360 -0
  79. package/src/scss/forms/_radio-buttons.scss +114 -0
  80. package/src/scss/forms/_range.scss +148 -0
  81. package/src/scss/forms/_select.scss +108 -0
  82. package/src/scss/forms/_switches.scss +127 -0
  83. package/src/scss/foundation/_base.scss +71 -0
  84. package/src/scss/foundation/_color-palette.scss +402 -0
  85. package/src/scss/foundation/_index.scss +10 -0
  86. package/src/scss/foundation/_mixins.scss +198 -0
  87. package/src/scss/foundation/_motion.scss +70 -0
  88. package/src/scss/foundation/_normalize.scss +349 -0
  89. package/src/scss/foundation/_shape.scss +30 -0
  90. package/src/scss/foundation/_state-layers.scss +68 -0
  91. package/src/scss/foundation/_theme.scss +238 -0
  92. package/src/scss/foundation/_tokens.scss +511 -0
  93. package/src/scss/foundation/_variables.scss +57 -0
  94. package/src/scss/layout/_footer.scss +26 -0
  95. package/src/scss/layout/_grid.scss +172 -0
  96. package/src/scss/layout/_index.scss +3 -0
  97. package/src/scss/layout/_table.scss +119 -0
  98. package/src/scss/utilities/_a11y.scss +77 -0
  99. package/src/scss/utilities/_colors.scss +74 -0
  100. package/src/scss/utilities/_elevation.scss +63 -0
  101. package/src/scss/utilities/_helpers.scss +50 -0
  102. package/src/scss/utilities/_index.scss +7 -0
  103. package/src/scss/utilities/_responsive.scss +62 -0
  104. package/src/scss/utilities/_spacing.scss +38 -0
  105. package/src/scss/utilities/_typography.scss +115 -0
@@ -0,0 +1,127 @@
1
+ @use '../utilities/colors' as *;
2
+
3
+ .switch {
4
+ --track-height: 32px;
5
+ --track-width: 52px;
6
+ --border-width: 2px;
7
+ --size-off: 16px;
8
+ --size-on: 24px;
9
+ --icon-size: 16px;
10
+ --gap-on: calc(((var(--track-height) - var(--size-on)) / 2) - var(--border-width));
11
+ --gap-off: calc(((var(--track-height) - var(--size-off)) / 2) - var(--border-width));
12
+
13
+ &, & * {
14
+ -webkit-tap-highlight-color: transparent;
15
+ user-select: none;
16
+ }
17
+
18
+ label {
19
+ cursor: pointer;
20
+
21
+ input[type=checkbox] {
22
+ opacity: 0;
23
+ width: 0;
24
+ height: 0;
25
+
26
+ // CHECKED
27
+ // Track
28
+ &:checked + .lever {
29
+ background-color: var(--md-sys-color-primary);
30
+ border-color: var(--md-sys-color-primary);
31
+
32
+ // Dot
33
+ &:before, &:after {
34
+ top: var(--gap-on);
35
+ left: calc(var(--track-width) - var(--size-on) - var(--gap-on) - 2 * var(--border-width));
36
+ width: var(--size-on);
37
+ height: var(--size-on);
38
+ }
39
+ &:after {
40
+ @extend .surface;
41
+ }
42
+ }
43
+
44
+ // Disabled Styles
45
+ &[disabled] + .lever {
46
+ cursor: default;
47
+ opacity: 0.5;
48
+ }
49
+
50
+ // Interaction states (non-disabled)
51
+ &:not(:disabled) {
52
+ ~ .lever:active:before,
53
+ &.tabbed:focus ~ .lever::before,
54
+ ~ .lever:hover::before {
55
+ transform: scale(2.4);
56
+ }
57
+
58
+ // Unchecked hover
59
+ ~ .lever:hover::before {
60
+ background-color: rgba(0, 0, 0, 0.04);
61
+ }
62
+
63
+ // Unchecked active/focus
64
+ ~ .lever:active:before,
65
+ &.tabbed:focus ~ .lever::before {
66
+ background-color: rgba(0, 0, 0, 0.12);
67
+ }
68
+
69
+ // Checked hover
70
+ &:checked ~ .lever:hover::before {
71
+ background-color: rgba(var(--md-sys-color-primary-numeric), 0.06);
72
+ }
73
+
74
+ // Checked active/focus
75
+ &:checked ~ .lever:active::before,
76
+ &:checked.tabbed:focus ~ .lever::before {
77
+ background-color: rgba(var(--md-sys-color-primary-numeric), 0.18);
78
+ }
79
+ }
80
+ }
81
+
82
+ .lever {
83
+ content: "";
84
+ display: inline-block;
85
+ position: relative;
86
+ width: var(--track-width);
87
+ height: var(--track-height);
88
+ border-style: solid;
89
+ border-width: 2px;
90
+ border-color: var(--md-sys-color-outline);
91
+
92
+ //@extend .surface-variant;
93
+ background-color: var(--md-sys-color-surface-variant);
94
+
95
+ border-radius: 15px;
96
+ margin-right: 10px;
97
+ transition: background 0.3s ease;
98
+ vertical-align: middle;
99
+ margin: 0 16px;
100
+
101
+ // DOT
102
+ &:before, &:after {
103
+ content: "";
104
+ position: absolute;
105
+ display: inline-block;
106
+ width: var(--size-off);
107
+ height: var(--size-off);
108
+ border-radius: 50%;
109
+
110
+ left: var(--gap-off);
111
+ top: var(--gap-off);
112
+
113
+ transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease;
114
+ }
115
+
116
+ // NOT CHECKED [DOT]
117
+ &:after {
118
+ @extend .outline;
119
+ height: var(--size-off);
120
+ width: var(--size-off);
121
+
122
+ //@extend .surface-variant;
123
+ //box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
124
+ }
125
+ }
126
+ }
127
+ }
@@ -0,0 +1,71 @@
1
+ @use './variables' as *;
2
+
3
+ html {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ *, *:before, *:after {
8
+ box-sizing: inherit;
9
+ }
10
+
11
+ body {
12
+ background-color: var(--md-sys-color-background);
13
+ color: var(--md-sys-color-on-background);
14
+ }
15
+
16
+ button,
17
+ input,
18
+ optgroup,
19
+ select,
20
+ textarea {
21
+ font-family: $font-stack;
22
+ }
23
+
24
+ a {
25
+ color: $link-color;
26
+ text-decoration: none;
27
+ -webkit-tap-highlight-color: transparent; // Gets rid of tap active state
28
+ }
29
+
30
+ // Blockquote
31
+ blockquote { margin: 20px 0; padding-left: 1.5rem; border-left: 5px solid var(--md-sys-color-primary); }
32
+
33
+ // Icon Styles
34
+ i {
35
+ line-height: inherit;
36
+ &.left {
37
+ float: left;
38
+ margin-left: -8px;
39
+ // margin-right: 15px;
40
+ }
41
+ &.right {
42
+ float: right;
43
+ // margin-left: 15px;
44
+ }
45
+ &.tiny {
46
+ font-size: 1rem;
47
+ }
48
+ &.small {
49
+ font-size: 2rem;
50
+ }
51
+ &.medium {
52
+ font-size: 4rem;
53
+ }
54
+ &.large {
55
+ font-size: 6rem;
56
+ }
57
+ }
58
+
59
+ // Modal
60
+ html.noscroll {
61
+ position: fixed;
62
+ overflow-y: scroll;
63
+ width: 100%;
64
+ }
65
+
66
+ // Images
67
+ img.responsive-img,
68
+ video.responsive-video {
69
+ max-width: 100%;
70
+ height: auto;
71
+ }
@@ -0,0 +1,402 @@
1
+ // Google Color Palette defined: http://www.google.com/design/spec/style/color.html
2
+
3
+ $materialize-red: (
4
+ "base": #e51c23,
5
+ "lighten-5": #fdeaeb,
6
+ "lighten-4": #f8c1c3,
7
+ "lighten-3": #f3989b,
8
+ "lighten-2": #ee6e73,
9
+ "lighten-1": #ea454b,
10
+ "darken-1": #d0181e,
11
+ "darken-2": #b9151b,
12
+ "darken-3": #a21318,
13
+ "darken-4": #8b1014,
14
+ );
15
+
16
+ $red: (
17
+ "base": #F44336,
18
+ "lighten-5": #FFEBEE,
19
+ "lighten-4": #FFCDD2,
20
+ "lighten-3": #EF9A9A,
21
+ "lighten-2": #E57373,
22
+ "lighten-1": #EF5350,
23
+ "darken-1": #E53935,
24
+ "darken-2": #D32F2F,
25
+ "darken-3": #C62828,
26
+ "darken-4": #B71C1C,
27
+ "accent-1": #FF8A80,
28
+ "accent-2": #FF5252,
29
+ "accent-3": #FF1744,
30
+ "accent-4": #D50000
31
+ );
32
+
33
+ $pink: (
34
+ "base": #e91e63,
35
+ "lighten-5": #fce4ec,
36
+ "lighten-4": #f8bbd0,
37
+ "lighten-3": #f48fb1,
38
+ "lighten-2": #f06292,
39
+ "lighten-1": #ec407a,
40
+ "darken-1": #d81b60,
41
+ "darken-2": #c2185b,
42
+ "darken-3": #ad1457,
43
+ "darken-4": #880e4f,
44
+ "accent-1": #ff80ab,
45
+ "accent-2": #ff4081,
46
+ "accent-3": #f50057,
47
+ "accent-4": #c51162
48
+ );
49
+
50
+ $purple: (
51
+ "base": #9c27b0,
52
+ "lighten-5": #f3e5f5,
53
+ "lighten-4": #e1bee7,
54
+ "lighten-3": #ce93d8,
55
+ "lighten-2": #ba68c8,
56
+ "lighten-1": #ab47bc,
57
+ "darken-1": #8e24aa,
58
+ "darken-2": #7b1fa2,
59
+ "darken-3": #6a1b9a,
60
+ "darken-4": #4a148c,
61
+ "accent-1": #ea80fc,
62
+ "accent-2": #e040fb,
63
+ "accent-3": #d500f9,
64
+ "accent-4": #aa00ff
65
+ );
66
+
67
+ $deep-purple: (
68
+ "base": #673ab7,
69
+ "lighten-5": #ede7f6,
70
+ "lighten-4": #d1c4e9,
71
+ "lighten-3": #b39ddb,
72
+ "lighten-2": #9575cd,
73
+ "lighten-1": #7e57c2,
74
+ "darken-1": #5e35b1,
75
+ "darken-2": #512da8,
76
+ "darken-3": #4527a0,
77
+ "darken-4": #311b92,
78
+ "accent-1": #b388ff,
79
+ "accent-2": #7c4dff,
80
+ "accent-3": #651fff,
81
+ "accent-4": #6200ea
82
+ );
83
+
84
+ $indigo: (
85
+ "base": #3f51b5,
86
+ "lighten-5": #e8eaf6,
87
+ "lighten-4": #c5cae9,
88
+ "lighten-3": #9fa8da,
89
+ "lighten-2": #7986cb,
90
+ "lighten-1": #5c6bc0,
91
+ "darken-1": #3949ab,
92
+ "darken-2": #303f9f,
93
+ "darken-3": #283593,
94
+ "darken-4": #1a237e,
95
+ "accent-1": #8c9eff,
96
+ "accent-2": #536dfe,
97
+ "accent-3": #3d5afe,
98
+ "accent-4": #304ffe
99
+ );
100
+
101
+ $blue: (
102
+ "base": #2196F3,
103
+ "lighten-5": #E3F2FD,
104
+ "lighten-4": #BBDEFB,
105
+ "lighten-3": #90CAF9,
106
+ "lighten-2": #64B5F6,
107
+ "lighten-1": #42A5F5,
108
+ "darken-1": #1E88E5,
109
+ "darken-2": #1976D2,
110
+ "darken-3": #1565C0,
111
+ "darken-4": #0D47A1,
112
+ "accent-1": #82B1FF,
113
+ "accent-2": #448AFF,
114
+ "accent-3": #2979FF,
115
+ "accent-4": #2962FF
116
+ );
117
+
118
+ $light-blue: (
119
+ "base": #03a9f4,
120
+ "lighten-5": #e1f5fe,
121
+ "lighten-4": #b3e5fc,
122
+ "lighten-3": #81d4fa,
123
+ "lighten-2": #4fc3f7,
124
+ "lighten-1": #29b6f6,
125
+ "darken-1": #039be5,
126
+ "darken-2": #0288d1,
127
+ "darken-3": #0277bd,
128
+ "darken-4": #01579b,
129
+ "accent-1": #80d8ff,
130
+ "accent-2": #40c4ff,
131
+ "accent-3": #00b0ff,
132
+ "accent-4": #0091ea
133
+ );
134
+
135
+ $cyan: (
136
+ "base": #00bcd4,
137
+ "lighten-5": #e0f7fa,
138
+ "lighten-4": #b2ebf2,
139
+ "lighten-3": #80deea,
140
+ "lighten-2": #4dd0e1,
141
+ "lighten-1": #26c6da,
142
+ "darken-1": #00acc1,
143
+ "darken-2": #0097a7,
144
+ "darken-3": #00838f,
145
+ "darken-4": #006064,
146
+ "accent-1": #84ffff,
147
+ "accent-2": #18ffff,
148
+ "accent-3": #00e5ff,
149
+ "accent-4": #00b8d4
150
+ );
151
+
152
+ $teal: (
153
+ "base": #009688,
154
+ "lighten-5": #e0f2f1,
155
+ "lighten-4": #b2dfdb,
156
+ "lighten-3": #80cbc4,
157
+ "lighten-2": #4db6ac,
158
+ "lighten-1": #26a69a,
159
+ "darken-1": #00897b,
160
+ "darken-2": #00796b,
161
+ "darken-3": #00695c,
162
+ "darken-4": #004d40,
163
+ "accent-1": #a7ffeb,
164
+ "accent-2": #64ffda,
165
+ "accent-3": #1de9b6,
166
+ "accent-4": #00bfa5
167
+ );
168
+
169
+ $green: (
170
+ "base": #4CAF50,
171
+ "lighten-5": #E8F5E9,
172
+ "lighten-4": #C8E6C9,
173
+ "lighten-3": #A5D6A7,
174
+ "lighten-2": #81C784,
175
+ "lighten-1": #66BB6A,
176
+ "darken-1": #43A047,
177
+ "darken-2": #388E3C,
178
+ "darken-3": #2E7D32,
179
+ "darken-4": #1B5E20,
180
+ "accent-1": #B9F6CA,
181
+ "accent-2": #69F0AE,
182
+ "accent-3": #00E676,
183
+ "accent-4": #00C853
184
+ );
185
+
186
+ $light-green: (
187
+ "base": #8bc34a,
188
+ "lighten-5": #f1f8e9,
189
+ "lighten-4": #dcedc8,
190
+ "lighten-3": #c5e1a5,
191
+ "lighten-2": #aed581,
192
+ "lighten-1": #9ccc65,
193
+ "darken-1": #7cb342,
194
+ "darken-2": #689f38,
195
+ "darken-3": #558b2f,
196
+ "darken-4": #33691e,
197
+ "accent-1": #ccff90,
198
+ "accent-2": #b2ff59,
199
+ "accent-3": #76ff03,
200
+ "accent-4": #64dd17
201
+ );
202
+
203
+ $lime: (
204
+ "base": #cddc39,
205
+ "lighten-5": #f9fbe7,
206
+ "lighten-4": #f0f4c3,
207
+ "lighten-3": #e6ee9c,
208
+ "lighten-2": #dce775,
209
+ "lighten-1": #d4e157,
210
+ "darken-1": #c0ca33,
211
+ "darken-2": #afb42b,
212
+ "darken-3": #9e9d24,
213
+ "darken-4": #827717,
214
+ "accent-1": #f4ff81,
215
+ "accent-2": #eeff41,
216
+ "accent-3": #c6ff00,
217
+ "accent-4": #aeea00
218
+ );
219
+
220
+ $yellow: (
221
+ "base": #ffeb3b,
222
+ "lighten-5": #fffde7,
223
+ "lighten-4": #fff9c4,
224
+ "lighten-3": #fff59d,
225
+ "lighten-2": #fff176,
226
+ "lighten-1": #ffee58,
227
+ "darken-1": #fdd835,
228
+ "darken-2": #fbc02d,
229
+ "darken-3": #f9a825,
230
+ "darken-4": #f57f17,
231
+ "accent-1": #ffff8d,
232
+ "accent-2": #ffff00,
233
+ "accent-3": #ffea00,
234
+ "accent-4": #ffd600
235
+ );
236
+
237
+ $amber: (
238
+ "base": #ffc107,
239
+ "lighten-5": #fff8e1,
240
+ "lighten-4": #ffecb3,
241
+ "lighten-3": #ffe082,
242
+ "lighten-2": #ffd54f,
243
+ "lighten-1": #ffca28,
244
+ "darken-1": #ffb300,
245
+ "darken-2": #ffa000,
246
+ "darken-3": #ff8f00,
247
+ "darken-4": #ff6f00,
248
+ "accent-1": #ffe57f,
249
+ "accent-2": #ffd740,
250
+ "accent-3": #ffc400,
251
+ "accent-4": #ffab00
252
+ );
253
+
254
+ $orange: (
255
+ "base": #ff9800,
256
+ "lighten-5": #fff3e0,
257
+ "lighten-4": #ffe0b2,
258
+ "lighten-3": #ffcc80,
259
+ "lighten-2": #ffb74d,
260
+ "lighten-1": #ffa726,
261
+ "darken-1": #fb8c00,
262
+ "darken-2": #f57c00,
263
+ "darken-3": #ef6c00,
264
+ "darken-4": #e65100,
265
+ "accent-1": #ffd180,
266
+ "accent-2": #ffab40,
267
+ "accent-3": #ff9100,
268
+ "accent-4": #ff6d00
269
+ );
270
+
271
+ $deep-orange: (
272
+ "base": #ff5722,
273
+ "lighten-5": #fbe9e7,
274
+ "lighten-4": #ffccbc,
275
+ "lighten-3": #ffab91,
276
+ "lighten-2": #ff8a65,
277
+ "lighten-1": #ff7043,
278
+ "darken-1": #f4511e,
279
+ "darken-2": #e64a19,
280
+ "darken-3": #d84315,
281
+ "darken-4": #bf360c,
282
+ "accent-1": #ff9e80,
283
+ "accent-2": #ff6e40,
284
+ "accent-3": #ff3d00,
285
+ "accent-4": #dd2c00
286
+ );
287
+
288
+ $brown: (
289
+ "base": #795548,
290
+ "lighten-5": #efebe9,
291
+ "lighten-4": #d7ccc8,
292
+ "lighten-3": #bcaaa4,
293
+ "lighten-2": #a1887f,
294
+ "lighten-1": #8d6e63,
295
+ "darken-1": #6d4c41,
296
+ "darken-2": #5d4037,
297
+ "darken-3": #4e342e,
298
+ "darken-4": #3e2723
299
+ );
300
+
301
+ $blue-grey: (
302
+ "base": #607d8b,
303
+ "lighten-5": #eceff1,
304
+ "lighten-4": #cfd8dc,
305
+ "lighten-3": #b0bec5,
306
+ "lighten-2": #90a4ae,
307
+ "lighten-1": #78909c,
308
+ "darken-1": #546e7a,
309
+ "darken-2": #455a64,
310
+ "darken-3": #37474f,
311
+ "darken-4": #263238
312
+ );
313
+
314
+ $grey: (
315
+ "base": #9e9e9e,
316
+ "lighten-5": #fafafa,
317
+ "lighten-4": #f5f5f5,
318
+ "lighten-3": #eeeeee,
319
+ "lighten-2": #e0e0e0,
320
+ "lighten-1": #bdbdbd,
321
+ "darken-1": #757575,
322
+ "darken-2": #616161,
323
+ "darken-3": #424242,
324
+ "darken-4": #212121
325
+ );
326
+
327
+ $shades: (
328
+ "black": #000000,
329
+ "white": #FFFFFF,
330
+ "transparent": transparent
331
+ );
332
+
333
+ $colors: (
334
+ "materialize-red": $materialize-red,
335
+ "red": $red,
336
+ "pink": $pink,
337
+ "purple": $purple,
338
+ "deep-purple": $deep-purple,
339
+ "indigo": $indigo,
340
+ "blue": $blue,
341
+ "light-blue": $light-blue,
342
+ "cyan": $cyan,
343
+ "teal": $teal,
344
+ "green": $green,
345
+ "light-green": $light-green,
346
+ "lime": $lime,
347
+ "yellow": $yellow,
348
+ "amber": $amber,
349
+ "orange": $orange,
350
+ "deep-orange": $deep-orange,
351
+ "brown": $brown,
352
+ "blue-grey": $blue-grey,
353
+ "grey": $grey,
354
+ "shades": $shades
355
+ ) !default;
356
+
357
+
358
+ // usage: colorFunc("name_of_color", "type_of_color")
359
+ // to avoid to repeating map-get($colors, ...)
360
+ @function colorFunc($color, $type) {
361
+ @if map-has-key($colors, $color) {
362
+ $curr_color: map-get($colors, $color);
363
+ @if map-has-key($curr_color, $type) {
364
+ @return map-get($curr_color, $type);
365
+ }
366
+ }
367
+ @warn "Unknown `#{$color}` - `#{$type}` in $colors.";
368
+ @return null;
369
+ }
370
+
371
+
372
+ // Color Classes
373
+ @each $color_name, $color in $colors {
374
+ @each $color_type, $color_value in $color {
375
+ @if $color_type == "base" {
376
+ .#{$color_name} {
377
+ background-color: $color_value !important;
378
+ }
379
+ .#{$color_name}-text {
380
+ color: $color_value !important;
381
+ }
382
+ }
383
+ @else if $color_name != "shades" {
384
+ .#{$color_name}.#{$color_type} {
385
+ background-color: $color_value !important;
386
+ }
387
+ .#{$color_name}-text.text-#{$color_type} {
388
+ color: $color_value !important;
389
+ }
390
+ }
391
+ }
392
+ }
393
+
394
+ // Shade classes
395
+ @each $color, $color_value in $shades {
396
+ .#{$color} {
397
+ background-color: $color_value !important;
398
+ }
399
+ .#{$color}-text {
400
+ color: $color_value !important;
401
+ }
402
+ }
@@ -0,0 +1,10 @@
1
+ @forward 'tokens';
2
+ @forward 'theme';
3
+ @forward 'shape';
4
+ @forward 'motion';
5
+ @forward 'state-layers';
6
+ @forward 'color-palette';
7
+ @forward 'variables';
8
+ @forward 'mixins';
9
+ @forward 'normalize';
10
+ @forward 'base';