uniform-ui 0.6 → 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +27 -0
  3. data/CNAME +1 -0
  4. data/Gemfile +0 -4
  5. data/Gemfile.lock +1 -11
  6. data/README.md +2 -3
  7. data/Rakefile +34 -24
  8. data/index.html +240 -1160
  9. data/preview/{_tables.html.erb → alerts.html.erb} +0 -0
  10. data/preview/buttons.html.erb +62 -0
  11. data/preview/cards.html.erb +23 -0
  12. data/preview/colors.html.erb +22 -0
  13. data/preview/{_tabs.html.erb → dropdown.html.erb} +0 -0
  14. data/preview/form.html.erb +233 -0
  15. data/preview/grid.html.erb +304 -0
  16. data/preview/helpers.html.erb +225 -0
  17. data/preview/index.html.erb +74 -50
  18. data/preview/{_tiles.html.erb → labels.html.erb} +0 -0
  19. data/preview/layout.html.erb +63 -0
  20. data/preview/loaders.html.erb +83 -0
  21. data/preview/modal.html.erb +1 -0
  22. data/preview/nav.html.erb +77 -0
  23. data/preview/preview.scss +39 -10
  24. data/preview/rows.html.erb +36 -0
  25. data/preview/select.html.erb +1 -0
  26. data/preview/tables.html.erb +1 -0
  27. data/preview/tabs.html.erb +17 -0
  28. data/preview/tiles.html.erb +1 -0
  29. data/preview/tooltip.erb +1 -0
  30. data/site/alerts.html +157 -0
  31. data/site/alerts.html copy +133 -0
  32. data/site/buttons.html +286 -0
  33. data/site/cards.html +177 -0
  34. data/site/colors.html +275 -0
  35. data/site/dropdown.html +157 -0
  36. data/site/dropdown.html copy +141 -0
  37. data/site/form.html +369 -0
  38. data/site/grid.html +716 -0
  39. data/site/helpers.html +1008 -0
  40. data/site/index.html +208 -617
  41. data/site/labels.html +157 -0
  42. data/site/layout.html +313 -0
  43. data/site/loaders.html +233 -0
  44. data/site/modal.html +157 -0
  45. data/site/nav.html +229 -0
  46. data/site/preview.css +1 -1
  47. data/site/preview.js +59 -0
  48. data/site/rows.html +190 -0
  49. data/site/select.html +157 -0
  50. data/site/tables.html +157 -0
  51. data/site/tabs.html +171 -0
  52. data/site/tiles.html +157 -0
  53. data/site/tiles.html copy +109 -0
  54. data/site/tooltip +157 -0
  55. data/site/uniform.css +1 -1
  56. data/uniform.gemspec +2 -8
  57. data/vendor/assets/stylesheets/uniform.scss +4 -4
  58. data/vendor/assets/stylesheets/uniform/base.scss +2 -0
  59. data/vendor/assets/stylesheets/uniform/components/alert.scss +27 -0
  60. data/vendor/assets/stylesheets/uniform/components/buttons.scss +135 -86
  61. data/vendor/assets/stylesheets/uniform/components/card.scss +69 -67
  62. data/vendor/assets/stylesheets/uniform/components/dropdown.scss +69 -0
  63. data/vendor/assets/stylesheets/uniform/components/form.scss +268 -85
  64. data/vendor/assets/stylesheets/uniform/components/grid.scss +214 -72
  65. data/vendor/assets/stylesheets/uniform/components/label.scss +63 -0
  66. data/vendor/assets/stylesheets/uniform/components/loaders.scss +38 -18
  67. data/vendor/assets/stylesheets/uniform/components/modal.scss +51 -0
  68. data/vendor/assets/stylesheets/uniform/components/nav.scss +171 -54
  69. data/vendor/assets/stylesheets/uniform/components/row.scss +69 -101
  70. data/vendor/assets/stylesheets/uniform/components/select.scss +98 -0
  71. data/vendor/assets/stylesheets/uniform/components/table.scss +83 -0
  72. data/vendor/assets/stylesheets/uniform/components/tabs.scss +39 -26
  73. data/vendor/assets/stylesheets/uniform/components/tile.scss +15 -27
  74. data/vendor/assets/stylesheets/uniform/components/tooltip.scss +46 -0
  75. data/vendor/assets/stylesheets/uniform/defaults.scss +85 -19
  76. data/vendor/assets/stylesheets/uniform/helpers.scss +82 -81
  77. data/vendor/assets/stylesheets/uniform/helpers/colors.scss +37 -0
  78. data/vendor/assets/stylesheets/uniform/helpers/margin.scss +44 -0
  79. data/vendor/assets/stylesheets/uniform/helpers/padding.scss +74 -0
  80. data/vendor/assets/stylesheets/uniform/helpers/sizes.scss +31 -0
  81. data/vendor/assets/stylesheets/uniform/helpers/text.scss +121 -0
  82. data/vendor/assets/stylesheets/uniform/mixins.scss +25 -48
  83. data/vendor/assets/stylesheets/uniform/variables.scss +10 -28
  84. metadata +61 -85
  85. data/preview/_buttons.html.erb +0 -59
  86. data/preview/_cards.html.erb +0 -82
  87. data/preview/_colors.html.erb +0 -12
  88. data/preview/_forms.html.erb +0 -196
  89. data/preview/_grid.html.erb +0 -49
  90. data/preview/_helpers.html.erb +0 -158
  91. data/preview/_inputs.html.erb +0 -93
  92. data/preview/_installation.html.erb +0 -4
  93. data/preview/_lists.html.erb +0 -53
  94. data/preview/_loaders.html.erb +0 -72
  95. data/preview/_nav.html.erb +0 -46
  96. data/preview/_philosophy.html.erb +0 -33
  97. data/preview/_rows.html.erb +0 -35
  98. data/preview/_uniform.html.erb +0 -4
  99. data/site/site/logo.png +0 -0
  100. data/site/site/preview.css +0 -1
  101. data/site/site/uniform.css +0 -1
  102. data/vendor/assets/stylesheets/uniform/components/inputs.scss +0 -131
  103. data/vendor/assets/stylesheets/uniform/components/lists.scss +0 -62
  104. data/vendor/assets/stylesheets/uniform/components/table-container.scss +0 -44
  105. data/vendor/assets/stylesheets/uniform/components/table-form.scss +0 -159
  106. data/vendor/assets/stylesheets/uniform/mixins/grid-framework.scss +0 -142
@@ -0,0 +1,69 @@
1
+ .uniformDropdown{
2
+ cursor: pointer;
3
+ }
4
+ .uniformDropdown-dropdown{
5
+ position: absolute;
6
+ z-index: 9999;
7
+ background: white;
8
+ border-top: white;
9
+ button{
10
+ appearance: none;
11
+ outline: none;
12
+ border: none;
13
+ background: none;
14
+ width: 100%;
15
+ padding: 0.5em;
16
+ display: block;
17
+ &:hover{
18
+ background: lighten($blue, 45);
19
+ }
20
+ }
21
+ &.absolute{
22
+ box-shadow: 0 0 3px 2px rgba(black, 0.2);
23
+ }
24
+ .uniformDropdown-pointer{
25
+ @include media($md){
26
+ position:absolute;
27
+ bottom: 100%;
28
+ left: 50%;
29
+ margin-left: -1em;
30
+ width: 2em;
31
+ height: 2em;
32
+ overflow: hidden;
33
+ &:after{
34
+ content: "";
35
+ position: absolute;
36
+ width: 100%;
37
+ height: 100%;
38
+ background: white;
39
+ transform: rotate(-45deg);
40
+ top: 85%;
41
+ left: 0;
42
+ box-shadow: 0 1px 3px 2px rgba(black, 0.2);
43
+ }
44
+ }
45
+ }
46
+ &.has-pointer{
47
+ @include media($md){
48
+ margin-top:1em;
49
+ }
50
+ }
51
+ }
52
+
53
+ @include media($sm){
54
+ .uniformOverlay{
55
+ position: fixed;
56
+ top:0;
57
+ bottom: 0;
58
+ left: 0;
59
+ right: 0;
60
+ background: white;
61
+ z-index: 9998;
62
+ }
63
+ .uniformDropdown-dropdown{
64
+ left: 0 !important;
65
+ top: 0 !important;
66
+ box-shadow: none !important;
67
+ width: 100%;
68
+ }
69
+ }
@@ -1,107 +1,290 @@
1
- @import "inputs";
2
- .uniform-form{
3
- .uniform-form-section{
4
- background:white;
5
- border:1px solid darken($background, 10);
1
+ div.uniformInputGroup{
2
+ background: white;
3
+ border: 1px solid lighten($gray, 40);
4
+ display: flex;
5
+ align-items: center;
6
+ transition: box-shadow 0.2s ease-in;
7
+ &>*{
8
+ flex: 0 1 auto;
9
+ }
10
+ input{
11
+ border: none !important;
12
+ background:none;
13
+ appearance: none;
14
+ outline: none;
6
15
  display:block;
7
- overflow:hidden; // prolly need to remove
8
- margin-bottom:20px;
9
- }
10
- .uniform-form-section-head{
11
- background:darken(white, 3);
12
- overflow:hidden;
13
- padding: 10px 15px;
14
- border-bottom:1px solid darken($background, 10);
15
- & > * {
16
- margin: 0;
16
+ width: 100%;
17
+ border-radius: 0 !important;
18
+ &:focus{
19
+ box-shadow: none;
17
20
  }
18
- h1,h2,h3,h4,h5,h6{
19
- margin: 0;
20
- display:inline-block;
21
+ }
22
+ .input{
23
+ padding: 0;
24
+ flex: 1 1 auto;
25
+ }
26
+ &>*:not(input){
27
+ padding: 0 0.5em;
28
+ &.pad-tiny{
29
+ padding: 0 0.25em;
21
30
  }
22
31
  }
23
- .uniform-form-section-foot{
24
- background:darken(white, 3);
25
- border-top:1px solid darken($background, 10);
26
- text-align:center;
27
- padding: 10px 15px;
32
+ &.focus{
33
+ box-shadow: inset 0 -2px 0 $green;
28
34
  }
29
- .row{
30
- .uniform-form-group{
31
- margin-top:10px;
32
- margin-bottom:10px;
35
+ .label{
36
+ color: lighten($gray, 20);
37
+ }
38
+ @include media($sm){
39
+ input{
40
+ padding-top: 0.5em;
41
+ padding-bottom: 0.5em;
33
42
  }
34
43
  }
35
- .uniform-form-group{
36
- margin-bottom:0;
37
- .has-error > label,
38
- & > label{
39
- display:block;
40
- &:not(:first-of-type) {
41
- margin-top: 20px;
44
+ &.border-none{
45
+ border: none;
46
+ }
47
+ }
48
+
49
+ select.uniformInput,
50
+ textarea.uniformInput,
51
+ input.uniformInput,
52
+ button.uniformInput,
53
+ .uniformInput input,
54
+ .uniformForm #{$text-inputs},
55
+ .uniformForm textarea{
56
+ font-family: $system-font;
57
+ border:1px solid lighten($gray, 40);
58
+ padding: 0.5em;
59
+ line-height: 1.3;
60
+ outline: none;
61
+ appearance: none;
62
+ transition: box-shadow 0.2s ease-in;
63
+ &:focus{
64
+ box-shadow: inset 0 -2px 0 $green;
65
+ }
66
+ &.block{
67
+ width: 100%;
68
+ max-width: 100%;
69
+ }
70
+ @include media($sm){
71
+ font-size: 1.142em;
72
+ }
73
+ &.pad-more{
74
+ padding: 1em;
75
+ }
76
+ &.large{
77
+ font-size:1.2em;
78
+ }
79
+ }
80
+ select.uniformInput{
81
+ color: $gray;
82
+ background: white url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNy4xNjdweCIgaGVpZ2h0PSIyOHB4IiB2aWV3Qm94PSIwIDAgMjcuMTY3IDI4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNy4xNjcgMjgiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnIGlkPSJpY29tb29uLWlnbm9yZSI+PC9nPjxwYXRoIGZpbGw9IiM1MDUxNTMiIGQ9Ik0xNiwxMWMwLDAuMjcxLTAuMSwwLjUwNS0wLjI5NywwLjcwM2wtNyw3QzguNTA1LDE4LjksOC4yNzEsMTksOCwxOXMtMC41MDUtMC4xLTAuNzAzLTAuMjk3bC03LTdDMC4wOTksMTEuNTA1LDAsMTEuMjcxLDAsMTFzMC4wOTktMC41MDUsMC4yOTctMC43MDNDMC40OTUsMTAuMDk5LDAuNzI5LDEwLDEsMTBoMTRjMC4yNzEsMCwwLjUwNSwwLjA5OSwwLjcwMywwLjI5N0MxNS45LDEwLjQ5NSwxNiwxMC43MjksMTYsMTF6Ii8+PC9zdmc+);
83
+ background-position: center right;
84
+ background-repeat: no-repeat;
85
+ background-size: auto 40%;
86
+ position: relative;
87
+ border-radius: 0;
88
+ padding-right: 1.5em !important;
89
+ }
90
+ button.uniformInput{
91
+ background: white;
92
+ @include text-overflow;
93
+ }
94
+
95
+ .uniformError{
96
+ position:relative;
97
+ border-color: $red;
98
+ color: $red;
99
+ input{
100
+ border-color: $red !important;
101
+ }
102
+ }
103
+
104
+ .uniformErrorMessage{
105
+ color: $red;
106
+ font-size:11px;
107
+ line-height: 1.1;
108
+ }
109
+
110
+ @mixin uniformForm-table{
111
+ display: table;
112
+ width: 100%;
113
+ .form-group{
114
+ display: table-row;
115
+ & > * {
116
+ display: table-cell;
117
+ &.fill{
118
+ width: 100%;
42
119
  }
43
120
  }
44
- .has-error > #{$text-inputs},
45
- & > #{$text-inputs},
46
- textarea {
47
- @include uniform-input;
48
- width:100%;
49
- }
50
- .has-error > #{$text-inputs}{
51
- &:focus{
52
- box-shadow:inset 0 -3px 0 $red;
121
+ & > label,
122
+ & > div,
123
+ & > span {
124
+ padding-bottom: 1em;
125
+ padding-right: 0.5em;
126
+ &:last-child{
127
+ padding-right: 0;
53
128
  }
54
129
  }
55
- .has-error > select,
56
- & > select{
57
- position:relative;
58
- z-index:1;
59
- @include appearance(none);
60
- outline: 1px;
61
- cursor:pointer;
62
- text-indent: 1px;
63
- text-overflow: ellipsis;
64
- font-family:$helvetica;
65
- border:1px solid $gray-light;
66
- margin:0;
67
- padding: 5px;
68
- padding-right: 20px;
69
- line-height:1.2;
70
- min-height: 30px;
130
+ }
131
+ }
132
+
133
+ .uniformForm{
134
+ .form-group{
135
+ position: relative;
136
+ margin-bottom: 0.9em;
137
+ label{
138
+ font-weight:bold;
139
+ display:block;
140
+ }
141
+ &.collapse{
142
+ margin-bottom: 0;
143
+ }
144
+ }
145
+ [data-error-message]{
146
+ position: relative;
147
+ color: $red;
148
+ input{
149
+ border-color: $red !important;
150
+ }
151
+ &::after{
152
+ content: attr(data-error-message);
153
+ color: $red;
154
+ position: absolute;
155
+ bottom: -7px;
156
+ left: 1em;
157
+ border: 1px solid $red;
71
158
  background: white;
72
- border-radius:0;
73
- background: url(asset_path('arrow_down_large.svg')) no-repeat;
74
- background-size: 10px 10px;
75
- background-position:right 5px center;
76
- width: 100%;
77
- &:focus{
78
- border-color: $blue;
79
- }
159
+ font-size:11px;
160
+ line-height: 14px;
161
+ @include text-overflow;
162
+ padding: 0 0.5em;
163
+ max-width: 100%;
80
164
  }
81
- .inline-input{
82
- width:100%;
83
- select{
84
- background:none;
85
- }
86
- &.active{
87
- box-shadow:none;
88
- border-color: $blue;
89
- }
90
- .add-on{
91
- width: 30px;
92
- border-right:none;
165
+ }
166
+ select.uniformInput,
167
+ #{$text-inputs},
168
+ textarea{
169
+ display:block;
170
+ width: 100%;
171
+ max-width: 100%;
172
+ }
173
+
174
+ .uniformForm-table,
175
+ &.uniformForm-table{
176
+ @include uniformForm-table;
177
+ }
178
+
179
+ &.invert{
180
+ #{$text-inputs},
181
+ textarea,
182
+ .uniformCheckboxCollection.inline,
183
+ .uniformCheckboxCollection.inline-md{
184
+ border-color: $gray;
185
+ border-radius: 0.25em;
186
+ }
187
+ .has-error{
188
+ color: $red-bright;
189
+ }
190
+ .uniformInputGroup{
191
+ overflow: hidden;
192
+ border-color: $gray;
193
+ border-radius: 0.25em;
194
+ }
195
+ }
196
+ }
197
+ @include apply-media-sizes('.uniformCheckboxCollection'){
198
+ label{
199
+ display:block;
200
+ margin-right: 1em;
201
+ font-weight: normal;
202
+ input{
203
+ margin-right: 0.25em;
204
+ }
205
+ }
206
+ &.inline{
207
+ color: $gray;
208
+ border:1px solid lighten($gray, 40);
209
+ background: white;
210
+ display: flex;
211
+ align-items: center;
212
+ label{
213
+ margin-right: 0;
214
+ padding: 0.5em;
215
+ line-height: 1.3;
216
+ flex: 1 1 auto;
217
+ border-left: 1px solid lighten($gray, 40);
218
+ text-align: center;
219
+ &:first-of-type{
220
+ border-left:none;
93
221
  }
94
222
  }
95
223
  }
96
- .has-error {
224
+ }
225
+ @include apply-media-sizes('.uniformForm-table'){
226
+ @include uniformForm-table;
227
+ }
228
+
229
+ .uniformFloatingLabel{
230
+ display: flex;
231
+ align-items: center;
232
+ border: 1px solid lighten($gray, 40);
233
+ position:relative;
234
+ background:white;
235
+ &>*{
236
+ flex: 0 1 auto;
237
+ }
238
+ label{
239
+ z-index: 1;
240
+ padding: 0 1em;
241
+ font-weight:normal !important;
242
+ }
243
+ & > input,
244
+ & > textarea,
245
+ & > select,
246
+ & > .uniformInputGroup{
247
+ position:relative;
248
+ display:block;
249
+ width: 100%;
250
+ border:none !important;
251
+ background:none;
252
+ }
253
+ & > select {
254
+ z-index: 2;
255
+ }
256
+ & > .uniformInputGroup{
257
+ display: flex;
258
+ }
259
+
260
+ &.enabled{
97
261
  label{
98
- color: $red !important;
262
+ transition: font-size 0.1s, line-height 0.1s, opacity 0.1s;
263
+ }
264
+ }
265
+
266
+ &.inactive{
267
+ input,
268
+ textarea,
269
+ select{
270
+ &::placeholder{
271
+ color: transparent;
272
+ }
99
273
  }
100
- #{$text-inputs}, textarea{
101
- border-color:$red !important;
274
+ }
275
+ &.float{
276
+ label{
277
+ font-size: 80%;
278
+ opacity: 0.8;
102
279
  }
103
- .select2 .select2-selection{
104
- border-color:$red !important;
280
+ }
281
+ &.active{
282
+ label{
283
+ color: $green-dark;
284
+ opacity: 1;
105
285
  }
106
286
  }
287
+ input.pad-more{
288
+ padding: 1em;
289
+ }
107
290
  }
@@ -1,83 +1,225 @@
1
- //
2
- // Grid system
3
- // --------------------------------------------------
4
-
5
-
6
- // Container widths
7
- //
8
- // Set the container width, and override it for fixed navbars in media queries.
9
- .container {
10
- @include container-fixed;
11
-
12
- @include media ($min-sm) {
13
- width: $container-sm;
14
- }
15
- @include media ($min-md) {
16
- width: $container-md;
17
- }
18
- @include media ($min-lg) {
19
- width: $container-lg;
20
- }
1
+ $grid-columns: 12;
2
+ $grid-gutter: 1em;
3
+
4
+ .container{
5
+ max-width: 100%;
6
+ width: 100%;
7
+ margin-left: auto;
8
+ margin-right: auto;
9
+ padding-left: 0.5em;
10
+ padding-right: 0.5em;
11
+ // @include media($md) {
12
+ // padding: 0;
13
+ // max-width: 720px;
14
+ // }
15
+ @include media($lg) {
16
+ max-width: 1080px;
17
+ }
18
+ @include media($xl) {
19
+ max-width: 1440px;
20
+ }
21
21
  }
22
22
 
23
-
24
- // Fluid container
25
- //
26
- // Utilizes the mixin meant for fixed width containers, but without any defined
27
- // width for fluid, full width layouts.
28
-
29
- .container-fluid {
30
- @include container-fixed;
23
+ @mixin grid{
24
+ display: flex;
25
+ flex-wrap: wrap;
26
+
27
+ &.grid-h-left {justify-content: flex-start;}
28
+ &.grid-h-center {justify-content: center;}
29
+ &.grid-h-right {justify-content: flex-end;}
30
+ &.grid-h-around {justify-content: space-around;}
31
+ &.grid-h-between {justify-content: space-between;}
32
+
33
+ &.grid-v-top {align-content: flex-start;}
34
+ &.grid-v-center {align-content: center;}
35
+ &.grid-v-bottom {align-content: flex-end;}
36
+ &.grid-v-around {align-content: space-around;}
37
+ &.grid-v-between {align-content: space-between;}
38
+ &.grid-v-stretch {align-content: space-stretch;}
39
+
40
+ &.grid-center {align-items: center;}
41
+ &.grid-top {align-items: flex-start;}
42
+ &.grid-bottom {align-items: flex-end;}
43
+ &.grid-stretch {align-items: stretch;}
44
+ &.grid-nowrap {flex-wrap:nowrap;}
45
+
46
+ &.grid-vertical{
47
+ flex-direction: column;
48
+ .col,
49
+ [class*="col-"]{
50
+ padding-left: 0;
51
+ padding-right: 0;
52
+ padding-top: $grid-gutter;
53
+ padding-bottom: $grid-gutter;
54
+ &:first-child{
55
+ padding-top: 0;
56
+ }
57
+ &:last-child{
58
+ padding-bottom: 0;
59
+ }
60
+ }
61
+ }
62
+
63
+ &.no-wrap{
64
+ flex-wrap:nowrap;
65
+ }
66
+
67
+ &.no-gutter{
68
+ .col,
69
+ [class*="col-"]{
70
+ padding-left: 0;
71
+ padding-right: 0;
72
+ }
73
+ }
74
+
75
+ &.nest{
76
+ margin-left: -$grid-gutter;
77
+ margin-right: -$grid-gutter;
78
+ @include media($sm) {
79
+ margin-left: -$grid-gutter/2;
80
+ margin-right: -$grid-gutter/2;
81
+ }
82
+ .col,
83
+ [class*="col-"]{
84
+ &:first-child{
85
+ padding-left: $grid-gutter/2;
86
+ }
87
+ &:last-child{
88
+ padding-right: $grid-gutter/2;
89
+ }
90
+ @include media($md){
91
+ &:first-child{
92
+ padding-left:$grid-gutter;
93
+ }
94
+ &:last-child{
95
+ padding-right: $grid-gutter;
96
+ }
97
+ }
98
+ }
99
+ }
100
+
101
+ .col,
102
+ [class*="col-"]{
103
+ position: relative;
104
+ padding-left: $grid-gutter/2;
105
+ padding-right: $grid-gutter/2;
106
+ &:first-child{
107
+ padding-left: 0;
108
+ }
109
+ &:last-child{
110
+ padding-right: 0;
111
+ &.pad{
112
+ padding-right: $grid-gutter/2;
113
+ }
114
+ }
115
+ &.no-gutter{
116
+ padding-left: 0;
117
+ padding-right: 0;
118
+ }
119
+ @include media($md){
120
+ padding-left:$grid-gutter;
121
+ padding-right: $grid-gutter;
122
+ &:last-child{
123
+ &.pad{
124
+ padding-right: $grid-gutter;
125
+ }
126
+ }
127
+ }
128
+
129
+ &.col-center {align-self: center;}
130
+ &.col-top {align-self: flex-start;}
131
+ &.col-bottom {align-self: flex-end;}
132
+ &.col-stretch {align-self: stretch;}
133
+ }
31
134
  }
32
135
 
33
-
34
- // Row
35
- //
36
- // Rows contain and clear the floats of your columns.
37
-
38
- .row {
39
- @include make-row;
136
+ .grid{
137
+ @include grid;
40
138
  }
41
139
 
42
-
43
- // Columns
44
- //
45
- // Common styles for small and large grid columns
46
-
47
- @include make-grid-columns;
48
-
49
-
50
- // Extra small grid
51
- //
52
- // Columns, offsets, pushes, and pulls for extra small devices like
53
- // smartphones.
54
-
55
- @include make-grid(xs);
56
-
57
-
58
- // Small grid
59
- //
60
- // Columns, offsets, pushes, and pulls for the small device range, from phones
61
- // to tablets.
62
-
63
- @include media ($min-sm) {
64
- @include make-grid(sm);
140
+ // fix for IE https://codepen.io/anon/pen/gxNraR
141
+ .grid-min-height-fix{
142
+ width: 100%;
143
+ display: flex;
144
+ flex-direction: row;
145
+ .grid{
146
+ width: 100%;
147
+ }
65
148
  }
66
149
 
67
-
68
- // Medium grid
69
- //
70
- // Columns, offsets, pushes, and pulls for the desktop device range.
71
-
72
- @include media ($min-md) {
73
- @include make-grid(md);
150
+ .col{
151
+ flex: 0 1 auto;
152
+ max-width: 100%;
153
+ }
154
+ .col-fill{
155
+ flex: 1 1 auto;
156
+ max-width: 100%;
157
+ }
158
+ @for $i from 1 through $grid-columns {
159
+ .col-#{$i} {
160
+ flex: 0 0 #{($i / $grid-columns * 100) + "%"};
161
+ max-width: #{($i / $grid-columns * 100) + "%"};
162
+ }
163
+ .col-offset-#{$i} {
164
+ margin-left: #{($i / $grid-columns * 100) + "%"};
165
+ }
166
+ .col-push-#{$i} {
167
+ position:relative;
168
+ left: #{($i / $grid-columns * 100) + "%"};
169
+ }
170
+ .col-pull-#{$i} {
171
+ position:relative;
172
+ right: #{($i / $grid-columns * -100) + "%"};
173
+ }
174
+ .col-fill-#{$i}{
175
+ flex: #{$i};
176
+ }
74
177
  }
75
178
 
179
+ @each $name, $size in ('sm', $sm) ('md', $md) ('lg', $lg) ('xl', $xl) {
180
+ .show-#{$name}{
181
+ display:none !important;
182
+ }
183
+ @include media($size){
184
+ .grid-#{$name}{
185
+ @include grid;
186
+ }
187
+ .text-col-2-#{$name}{
188
+ column-count: 2;
189
+ column-gap: 5em;
190
+ }
191
+ .show-#{$name}{
192
+ display:inherit !important;
193
+ &.block{
194
+ display:block !important;
195
+ }
196
+ }
197
+ .hide-#{$name}{
198
+ display:none !important;
199
+ }
200
+ .col-#{$name}{
201
+ flex: 0 1 auto;
202
+ max-width: 100%;
203
+ }
204
+ .col-fill-#{$name}{
205
+ flex: 1 1 auto;
206
+ }
207
+
208
+ @for $i from 1 through $grid-columns {
209
+ .col-#{$i}-#{$name} {
210
+ flex: 0 0 #{($i / $grid-columns * 100) + "%"};
211
+ max-width: #{($i / $grid-columns * 100) + "%"};
212
+ }
213
+ .col-offset-#{$i}-#{$name} {
214
+ margin-left: #{($i / $grid-columns * 100) + "%"};
215
+ }
216
+ .col-push-#{$i}-#{$name} {
217
+ left: #{($i / $grid-columns * 100) + "%"};
218
+ }
219
+ .col-pull-#{$i}-#{$name} {
220
+ right: #{($i / $grid-columns * 100) + "%"};
221
+ }
222
+ }
223
+ }
224
+ }
76
225
 
77
- // Large grid
78
- //
79
- // Columns, offsets, pushes, and pulls for the large desktop device range.
80
-
81
- @include media ($min-lg) {
82
- @include make-grid(lg);
83
- }