dlegr250_material_design 0.1.0

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 (72) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +4 -0
  6. data/README.md +66 -0
  7. data/Rakefile +6 -0
  8. data/app/controllers/styleguide_controller.rb +5 -0
  9. data/app/views/styleguide/_buttons.html.erb +79 -0
  10. data/app/views/styleguide/_menus.html.erb +189 -0
  11. data/app/views/styleguide/_navigation.html.erb +28 -0
  12. data/app/views/styleguide/index.html.erb +9 -0
  13. data/bin/console +14 -0
  14. data/bin/setup +7 -0
  15. data/dlegr250_material_design.gemspec +34 -0
  16. data/lib/dlegr250_material_design.rb +6 -0
  17. data/lib/dlegr250_material_design/version.rb +3 -0
  18. data/vendor/assets/javascripts/base/init.js.coffee +14 -0
  19. data/vendor/assets/javascripts/components/dialog.coffee +54 -0
  20. data/vendor/assets/javascripts/components/forms.coffee +17 -0
  21. data/vendor/assets/javascripts/components/layout.coffee +76 -0
  22. data/vendor/assets/javascripts/components/menus.coffee +87 -0
  23. data/vendor/assets/javascripts/components/snackbar_handler.coffee +8 -0
  24. data/vendor/assets/javascripts/components/tabs.coffee +18 -0
  25. data/vendor/assets/javascripts/components/utility.coffee +8 -0
  26. data/vendor/assets/javascripts/dlegr250_material_design.js +20 -0
  27. data/vendor/assets/javascripts/extensions/coffeescript.js.coffee +9 -0
  28. data/vendor/assets/javascripts/extensions/jquery.js.coffee +30 -0
  29. data/vendor/assets/javascripts/third_party/hammer.min.js +7 -0
  30. data/vendor/assets/javascripts/third_party/handlebars.latest.js +4454 -0
  31. data/vendor/assets/javascripts/third_party/jquery.hammer.js +33 -0
  32. data/vendor/assets/javascripts/third_party/snackbarlight.js +218 -0
  33. data/vendor/assets/stylesheets/base/base.scss +73 -0
  34. data/vendor/assets/stylesheets/base/global_classes.scss +261 -0
  35. data/vendor/assets/stylesheets/base/mixins.scss +202 -0
  36. data/vendor/assets/stylesheets/base/normalize.scss +229 -0
  37. data/vendor/assets/stylesheets/base/variables.scss +177 -0
  38. data/vendor/assets/stylesheets/components/badges.scss +28 -0
  39. data/vendor/assets/stylesheets/components/blank_slates.scss +58 -0
  40. data/vendor/assets/stylesheets/components/boxes.scss +34 -0
  41. data/vendor/assets/stylesheets/components/buttons.scss +225 -0
  42. data/vendor/assets/stylesheets/components/cards.scss +110 -0
  43. data/vendor/assets/stylesheets/components/code.scss +13 -0
  44. data/vendor/assets/stylesheets/components/dialogs.scss +57 -0
  45. data/vendor/assets/stylesheets/components/dividers.scss +35 -0
  46. data/vendor/assets/stylesheets/components/forms/error_messages.scss +27 -0
  47. data/vendor/assets/stylesheets/components/forms/fields.scss +56 -0
  48. data/vendor/assets/stylesheets/components/forms/labels.scss +17 -0
  49. data/vendor/assets/stylesheets/components/forms/radios.scss +90 -0
  50. data/vendor/assets/stylesheets/components/forms/selects.scss +15 -0
  51. data/vendor/assets/stylesheets/components/forms/text_fields.scss +38 -0
  52. data/vendor/assets/stylesheets/components/forms/toggles.scss +70 -0
  53. data/vendor/assets/stylesheets/components/lists.scss +242 -0
  54. data/vendor/assets/stylesheets/components/menus.scss +164 -0
  55. data/vendor/assets/stylesheets/components/overlay.scss +27 -0
  56. data/vendor/assets/stylesheets/components/snackbarlight.scss +77 -0
  57. data/vendor/assets/stylesheets/components/spinners.scss +67 -0
  58. data/vendor/assets/stylesheets/components/tabs.scss +62 -0
  59. data/vendor/assets/stylesheets/components/tooltips.scss +75 -0
  60. data/vendor/assets/stylesheets/dlegr250_material_design.scss +47 -0
  61. data/vendor/assets/stylesheets/fonts/material_design_iconic_font.scss +5168 -0
  62. data/vendor/assets/stylesheets/fonts/material_design_iconic_font/Material-Design-Iconic-Font.eot +0 -0
  63. data/vendor/assets/stylesheets/fonts/material_design_iconic_font/Material-Design-Iconic-Font.svg +787 -0
  64. data/vendor/assets/stylesheets/fonts/material_design_iconic_font/Material-Design-Iconic-Font.ttf +0 -0
  65. data/vendor/assets/stylesheets/fonts/material_design_iconic_font/Material-Design-Iconic-Font.woff +0 -0
  66. data/vendor/assets/stylesheets/fonts/material_design_iconic_font/Material-Design-Iconic-Font.woff2 +0 -0
  67. data/vendor/assets/stylesheets/layouts/application/appbar.scss +93 -0
  68. data/vendor/assets/stylesheets/layouts/application/base.scss +27 -0
  69. data/vendor/assets/stylesheets/layouts/application/main.scss +26 -0
  70. data/vendor/assets/stylesheets/layouts/application/sidebars.scss +85 -0
  71. data/vendor/assets/stylesheets/layouts/authentication/base.scss +53 -0
  72. metadata +155 -0
@@ -0,0 +1,13 @@
1
+ //======================================================================
2
+ // Modifying base HTML element instead of class, but putting as a
3
+ // component because it is used like one.
4
+ //======================================================================
5
+
6
+ // Code - base
7
+ //----------------------------------------------------------------------
8
+
9
+ code {
10
+ background-color: #eee;
11
+ line-height: 1.5;
12
+ padding: $spacing-xsmall;
13
+ }
@@ -0,0 +1,57 @@
1
+ // Dialogs - base
2
+ //----------------------------------------------------------------------
3
+
4
+ .dialog {
5
+ background: color("white");
6
+ cursor: default;
7
+ margin: auto;
8
+ max-width: 90%;
9
+ pointer-events: none;
10
+ position: absolute;
11
+ visibility: hidden;
12
+ width: $card-width;
13
+ will-change: scale, transparency;
14
+ z-index: $dialog-depth;
15
+ @include box-shadow(0 12px 15px 0 rgba(0,0,0,0.24));
16
+ @include rounded-corners;
17
+ @include transition(all 0.10s ease);
18
+ @include transform(scale(1.15));
19
+ @include transparency(0);
20
+
21
+ &.visible {
22
+ pointer-events: auto;
23
+ visibility: visible;
24
+ @include transform(scale(1.0));
25
+ @include transparency(1);
26
+ @include transition(all 0.30s ease);
27
+ }
28
+ }
29
+
30
+ // Dialogs - header
31
+ //----------------------------------------------------------------------
32
+
33
+ .dialog header {
34
+ padding: $spacing-large;
35
+ padding-bottom: 20px;
36
+
37
+ .dialog-title {
38
+ font-size: $font-size-large;
39
+ font-weight: bold;
40
+ }
41
+ }
42
+
43
+ // Dialogs - content
44
+ //----------------------------------------------------------------------
45
+
46
+ .dialog-content {
47
+ padding: $spacing-large;
48
+ padding-top: 0;
49
+ }
50
+
51
+ // Dialogs - actions
52
+ //----------------------------------------------------------------------
53
+
54
+ .dialog-actions {
55
+ padding: $spacing-normal;
56
+ padding-top: 0;
57
+ }
@@ -0,0 +1,35 @@
1
+ // Dividers - base
2
+ //----------------------------------------------------------------------
3
+
4
+ hr {
5
+ height: 1px;
6
+ margin: $spacing-small 0;
7
+
8
+ // Has a line
9
+ &.divider {
10
+ border-color: color("divider");
11
+ margin: $spacing-normal 0;
12
+ }
13
+
14
+ // Does not have a line
15
+ &.spacer {
16
+ border: none;
17
+ margin: $spacing-normal 0;
18
+ }
19
+
20
+ &.spacer-xsmall {
21
+ margin: $spacing-xsmall 0;
22
+ }
23
+
24
+ &.spacer-small {
25
+ margin: $spacing-small 0;
26
+ }
27
+
28
+ &.spacer-large {
29
+ margin: $spacing-large 0;
30
+ }
31
+
32
+ &.spacer-xlarge {
33
+ margin: $spacing-xlarge 0;
34
+ }
35
+ }
@@ -0,0 +1,27 @@
1
+ // Error messages - base
2
+ //----------------------------------------------------------------------
3
+
4
+ .error-messages {
5
+ color: color("red");
6
+ display: inline-block;
7
+ font-size: $font-size-small;
8
+ font-weight: normal;
9
+ line-height: 1.4;
10
+ overflow: hidden;
11
+ padding-top: $spacing-xsmall;
12
+ position: relative;
13
+ vertical-align: middle;
14
+ }
15
+
16
+ // Wrapper for inputs with errors
17
+ //----------------------------------------------------------------------
18
+
19
+ .field-with-errors {
20
+ label {
21
+ color: color("red");
22
+ }
23
+
24
+ input {
25
+ border-color: color("red");
26
+ }
27
+ }
@@ -0,0 +1,56 @@
1
+ // Fields header
2
+ //----------------------------------------------------------------------
3
+
4
+ .fields-header {
5
+ font-size: $font-size-large;
6
+ font-weight: bold;
7
+ margin-bottom: $spacing-normal;
8
+
9
+ &.with-line {
10
+ border-bottom: 1px solid color("divider");
11
+ padding-bottom: $spacing-small;
12
+ }
13
+ }
14
+ // Fields - base
15
+ //----------------------------------------------------------------------
16
+
17
+ .field {
18
+ box-sizing: border-box;
19
+ display: inline-block;
20
+ margin: 0;
21
+ max-width: 100%;
22
+ padding: $spacing-small 0;
23
+ position: relative;
24
+ width: 100%;
25
+ }
26
+
27
+ .field-bordered-top {
28
+ border-top: 1px solid color("divider");
29
+ margin-top: $spacing-small;
30
+ }
31
+
32
+ .field-bordered-bottom {
33
+ border-bottom: 1px solid color("divider");
34
+ margin-bottom: $spacing-small;
35
+ }
36
+
37
+
38
+ .field-first {
39
+ padding-top: 0;
40
+ }
41
+
42
+ .field-last {
43
+ padding-bottom: 0;
44
+ }
45
+
46
+ // Actions
47
+ //----------------------------------------------------------------------
48
+
49
+ .actions {
50
+ padding-top: $spacing-normal;
51
+ }
52
+
53
+ .actions-bordered {
54
+ border-top: 1px solid color("divider");
55
+ margin-top: $spacing-normal;
56
+ }
@@ -0,0 +1,17 @@
1
+ // Labels - base
2
+ //----------------------------------------------------------------------
3
+
4
+ label {
5
+ color: color("helper");
6
+ cursor: pointer;
7
+ font-size: $font-size-normal;
8
+ font-weight: 600;
9
+ }
10
+
11
+ // Labels - top aligned
12
+ //----------------------------------------------------------------------
13
+
14
+ label.top {
15
+ display: block;
16
+ padding-bottom: $spacing-xsmall;
17
+ }
@@ -0,0 +1,90 @@
1
+ //======================================================================
2
+ // EXAMPLE:
3
+ // <div class="radio-group radio-blue">
4
+ // <div class="radio-group-item">
5
+ // <div class="radio-group-item-button">
6
+ // <%= f.radio_button :attribute, "value" %>
7
+ // </div>
8
+ // <div class="radio-group-item-label">
9
+ // <%= f.label :attribute_value, "Label display text" %>
10
+ // </div>
11
+ // </div>
12
+ // </div>
13
+ //======================================================================
14
+
15
+ // Radios - base
16
+ //----------------------------------------------------------------------
17
+
18
+ .radio-group {
19
+ display: table;
20
+
21
+ input[type="radio"] {
22
+ border: 2px;
23
+ cursor: pointer;
24
+ width: $spacing-normal;
25
+ height: $spacing-normal;
26
+ position: relative;
27
+ top: 2px;
28
+
29
+ &:before {
30
+ background-color: color("white");
31
+ background-image: radial-gradient(circle, color("blue") 40%, color("white") 50%);
32
+ background-position: 50% 50%;
33
+ background-repeat: no-repeat;
34
+ background-size: 0;
35
+ border-radius: 50%;
36
+ border: 2px solid color("blue");
37
+ content: "";
38
+ display: inline-block;
39
+ height: $spacing-normal;
40
+ left: -2px;
41
+ position: absolute;
42
+ top: -2px;
43
+ width: $spacing-normal;
44
+ will-change: background-size;
45
+ z-index: 2;
46
+ @include transition(all 0.3s cubic-bezier(0.64, 0.09, 0.08, 1));
47
+ }
48
+
49
+ &:checked:before {
50
+ background-size: 14px 14px;
51
+ }
52
+
53
+ &:after {
54
+ background: color("white");
55
+ border-radius: 50%;
56
+ content: "";
57
+ height: $spacing-normal;
58
+ position: absolute;
59
+ @include transition(all 0.3s cubic-bezier(0.64, 0.09, 0.08, 1));
60
+ width: $spacing-normal;
61
+ }
62
+ }
63
+ }
64
+
65
+ .radio-group-item {
66
+ display: table-row;
67
+ }
68
+
69
+ .radio-group-item-button,
70
+ .radio-group-item-label {
71
+ display: table-cell;
72
+ height: $input-height;
73
+ vertical-align: middle;
74
+ }
75
+
76
+ .radio-group-item-button {
77
+ padding: 0 $spacing-normal 0 $spacing-small;
78
+ }
79
+
80
+ // Radios - colored
81
+ //----------------------------------------------------------------------
82
+
83
+ @each $color-name, $color in $colors {
84
+ .radio-#{$color-name} {
85
+ input[type="radio"]:before {
86
+ background-image: radial-gradient(circle, $color 40%, color("white") 50%);
87
+ border: 2px solid $color;
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,15 @@
1
+ // Selects - base
2
+ //----------------------------------------------------------------------
3
+
4
+ select {
5
+ border: 1px solid rgba(0, 0, 0, .12);
6
+ height: $input-height - 4;
7
+ min-height: $button-height;
8
+ outline: none;
9
+ @include rounded-corners;
10
+ @include transition(border-color 0.2s ease);
11
+
12
+ &:focus {
13
+ border-color: color("primary");
14
+ }
15
+ }
@@ -0,0 +1,38 @@
1
+ //======================================================================
2
+ // Text-fields include any text-based input.
3
+ //======================================================================
4
+
5
+ // Variables
6
+ //----------------------------------------------------------------------
7
+
8
+ $text-fields: "input[type='email'], input[type='number'], input[type='search'], input[type='text'], input[type='tel'], input[type='url'], input[type='password'], textarea";
9
+
10
+ // Text fields - base
11
+ //----------------------------------------------------------------------
12
+
13
+ #{$text-fields} {
14
+ border: 1px solid rgba(0, 0, 0, .12);
15
+ box-sizing: border-box;
16
+ color: color("text");
17
+ font-size: $font-size-text-field;
18
+ padding: 0 $spacing-small;
19
+ min-height: $button-height;
20
+ outline: none;
21
+ vertical-align: middle;
22
+ @include box-shadow(none);
23
+ @include rounded-corners;
24
+ @include transition(border-color 0.2s ease);
25
+
26
+ &:focus {
27
+ border-color: color("primary");
28
+ }
29
+
30
+ &.large {
31
+ font-size: $font-size-large;
32
+ min-height: $button-height * 1.5;
33
+ }
34
+ }
35
+
36
+ textarea {
37
+ padding: $spacing-small;
38
+ }
@@ -0,0 +1,70 @@
1
+ //======================================================================
2
+ // EXAMPLE:
3
+ // <%= f.label :attribute, "Toggle Display Text" %>
4
+ // <div class="toggle toggle-blue">
5
+ // <%= f.check_box :attribute %>
6
+ // <label for="model_attribute"></label>
7
+ // </div>
8
+ //======================================================================
9
+
10
+ // Toggles - base
11
+ //----------------------------------------------------------------------
12
+
13
+ .toggle {
14
+ display: inline-block;
15
+
16
+ // Hide the actual checkbox
17
+ input {
18
+ display: none;
19
+ }
20
+
21
+ // Toggle bar
22
+ label {
23
+ background-color: color("grey");
24
+ cursor: pointer;
25
+ display: block;
26
+ height: 14px;
27
+ margin: 0 8px;
28
+ position: relative;
29
+ top: 2px;
30
+ width: 34px;
31
+ @include rounded-corners(250px);
32
+ @include transition(all 0.15s ease);
33
+ @include no-touch-highlight();
34
+
35
+ // Round button on toggle
36
+ &:after {
37
+ background-color: color("white");
38
+ content: "";
39
+ display: block;
40
+ height: 20px;
41
+ left: -4px;
42
+ position: absolute;
43
+ top: -3px;
44
+ width: 20px;
45
+ @include box-shadow(0 1px 5px rgba(0, 0, 0, 0.5));
46
+ @include rounded-corners(250px);
47
+ @include transition(all 0.15s ease);
48
+ }
49
+ }
50
+
51
+ // Colored bar when active
52
+ input:checked ~ label:after {
53
+ left: 20px;
54
+ }
55
+ }
56
+
57
+ // Toggles - colored
58
+ //----------------------------------------------------------------------
59
+
60
+ @each $color-name, $color in $colors {
61
+ .toggle-#{$color-name} {
62
+ input:checked ~ label {
63
+ background-color: lighten($color, 25%);
64
+
65
+ &:after {
66
+ background-color: $color;
67
+ }
68
+ }
69
+ }
70
+ }
@@ -0,0 +1,242 @@
1
+ //======================================================================
2
+ // EXAMPLE:
3
+ // <div class="list list-bordered list-hoverable rounded-corners constrained constrained-large">
4
+ // <div class="list-item" id="list-item-ID">
5
+ // <div class="list-item-icon">
6
+ // <i class="zmdi zmdi-star"></i>
7
+ // </div>
8
+ // <div class="list-item-primary">
9
+ // Primary text
10
+ // <div class="list-item-primary-subtext">
11
+ // Smaller text
12
+ // </div>
13
+ // </div>
14
+ // <div class="list-item-secondary">
15
+ // <%= link_to "", url, class: "button button-icon zmdi zmdi-star" %>
16
+ // </div>
17
+ // </div>
18
+ // </div>
19
+ //======================================================================
20
+
21
+ // UL and OL lists
22
+ //----------------------------------------------------------------------
23
+
24
+ ul,
25
+ ol {
26
+ margin: $spacing-normal 0;
27
+ padding-left: $spacing-normal;
28
+
29
+ li {
30
+ padding: 2px 0;
31
+ }
32
+ }
33
+
34
+ // Lists - base
35
+ //----------------------------------------------------------------------
36
+
37
+ .list {
38
+ background-color: color("white");
39
+ display: table;
40
+ table-layout: fixed;
41
+ text-align: left;
42
+ width: 100%;
43
+ }
44
+
45
+ // Lists - hoverable
46
+ //----------------------------------------------------------------------
47
+
48
+ // Hover over rows
49
+ .list-hoverable {
50
+ .list-item:hover {
51
+ background-color: color("hover");
52
+ }
53
+
54
+ .list-item:active {
55
+ .list-item-icon,
56
+ .list-item-primary,
57
+ .list-item-secondary {
58
+ background-color: darken(color("hover"), 5%);
59
+ }
60
+ }
61
+ }
62
+
63
+ // Lists - bordered (only on specific device dimensions)
64
+ //----------------------------------------------------------------------
65
+
66
+ // On large and beyond, show borders and corners
67
+ @media (min-width: $large-width) {
68
+ .list.list-bordered {
69
+ border: 1px solid color("divider");
70
+ }
71
+
72
+ .list-rounded {
73
+ @include rounded-corners;
74
+
75
+ // Note that rounding the first and last elements assume
76
+ // that they are DIV elements. Did not want to use a "*"
77
+ // wildcard as that is expensive for CSS.
78
+
79
+ // Round first element
80
+ .list-item:first-child {
81
+ div:first-child {
82
+ @include rounded-top-left-corner;
83
+ }
84
+
85
+ div:last-child {
86
+ @include rounded-top-right-corner;
87
+ }
88
+ }
89
+
90
+ // Round last element
91
+ .list-item:last-child {
92
+ div:first-child {
93
+ @include rounded-bottom-left-corner;
94
+ }
95
+
96
+ div:last-child {
97
+ @include rounded-bottom-right-corner;
98
+ }
99
+ }
100
+ }
101
+ }
102
+
103
+ // Lists - divided
104
+ //----------------------------------------------------------------------
105
+
106
+ .list-divided > .list-item > div {
107
+ border-bottom: 1px solid color("divider");
108
+ }
109
+
110
+ .list-item-border-top > div {
111
+ border-top: 1px solid color("divider");
112
+ }
113
+
114
+ .list-item-border-bottom > div {
115
+ border-bottom: 1px solid color("divider");
116
+ }
117
+
118
+ // Lists - list item
119
+ //----------------------------------------------------------------------
120
+
121
+ .list-item {
122
+ box-sizing: border-box;
123
+ color: color("text");
124
+ display: table-row;
125
+ font-size: $font-size-normal;
126
+ text-decoration: none;
127
+ @include transition(background-color 0.30s ease);
128
+ }
129
+
130
+ // Lists - list item - shared
131
+ //----------------------------------------------------------------------
132
+
133
+ .list-item-icon,
134
+ .list-item-primary,
135
+ .list-item-secondary {
136
+ box-sizing: border-box;
137
+ display: table-cell;
138
+ height: 48px;
139
+ min-height: 48px;
140
+ margin: 0;
141
+ padding: $spacing-normal 0;
142
+ vertical-align: middle;
143
+ @include transition(background-color 0.30s ease);
144
+
145
+ &.align-top {
146
+ padding-top: $spacing-normal;
147
+ vertical-align: top;
148
+ }
149
+ }
150
+
151
+ // Lists - list item - icon
152
+ //----------------------------------------------------------------------
153
+
154
+ .list-item-icon {
155
+ color: color("icon");
156
+ font-size: $font-size-icon;
157
+ padding: 0;
158
+ padding-left: $spacing-normal;
159
+ width: 56px; // 72px(width) - 16px(padding-left)
160
+ }
161
+
162
+ // Lists - list item - primary
163
+ //----------------------------------------------------------------------
164
+
165
+ .list-item-primary {
166
+ overflow: hidden;
167
+ padding-left: $spacing-normal;
168
+ padding-right: $spacing-normal;
169
+ text-overflow: ellipsis;
170
+ white-space: nowrap;
171
+
172
+ a {
173
+ color: color("text");
174
+ font-weight: bold;
175
+
176
+ &:hover {
177
+ text-decoration: underline;
178
+ }
179
+ }
180
+ }
181
+
182
+ .list-item-primary-subtext {
183
+ color: color("hint");
184
+ padding-top: $spacing-xsmall;
185
+
186
+ a {
187
+ color: color("hint");
188
+ }
189
+ }
190
+
191
+ // Lists - list item - secondary
192
+ //----------------------------------------------------------------------
193
+
194
+ .list-item-secondary {
195
+ text-align: right;
196
+ width: $spacing-normal * 2 + $button-icon-height;
197
+ padding-right: $spacing-normal;
198
+
199
+ .icon {
200
+ font-size: $font-size-icon;
201
+ }
202
+ }
203
+
204
+ // Lists - sizes
205
+ //----------------------------------------------------------------------
206
+
207
+ .list-dense {
208
+ .list-item-icon,
209
+ .list-item-primary,
210
+ .list-item-secondary {
211
+ padding-bottom: $spacing-small;
212
+ padding-top: $spacing-small;
213
+ }
214
+ }
215
+
216
+ // Lists - nested (only 1 level down)
217
+ //----------------------------------------------------------------------
218
+
219
+ .list-item-nested {
220
+ div:first-child {
221
+ padding-left: $spacing-normal * 2;
222
+ }
223
+ }
224
+
225
+ // Lists - media queries
226
+ //----------------------------------------------------------------------
227
+
228
+ @media (min-width: $medium-width) {
229
+ .list-item-secondary {
230
+ &.one-icons {
231
+ width: $spacing-normal * 2 + $button-icon-height;
232
+ }
233
+
234
+ &.two-icons {
235
+ width: $spacing-normal * 2 + $button-icon-height * 2;
236
+ }
237
+
238
+ &.three-icons {
239
+ width: $spacing-normal * 2 + $button-icon-height * 3;
240
+ }
241
+ }
242
+ }