sass-zero 0.0.38 → 0.0.43

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/Example.html +7 -7
  3. data/README.md +4 -1
  4. data/app/assets/stylesheets/sass-zero/base.scss +0 -1
  5. data/app/assets/stylesheets/sass-zero/base/preflight.scss +14 -4
  6. data/app/assets/stylesheets/sass-zero/breadboard.scss +230 -0
  7. data/app/assets/stylesheets/sass-zero/mixins.scss +23 -14
  8. data/app/assets/stylesheets/sass-zero/utilities.scss +1 -0
  9. data/app/assets/stylesheets/sass-zero/utilities/animation.scss +59 -0
  10. data/app/assets/stylesheets/sass-zero/utilities/flex.scss +33 -21
  11. data/app/assets/stylesheets/sass-zero/utilities/layout.scss +11 -1
  12. data/app/assets/stylesheets/sass-zero/utilities/list.scss +20 -4
  13. data/app/assets/stylesheets/sass-zero/utilities/text.scss +59 -5
  14. data/app/assets/stylesheets/sass-zero/variables.scss +1 -0
  15. data/app/assets/stylesheets/sass-zero/variables/border.scss +4 -1
  16. data/app/assets/stylesheets/sass-zero/variables/breakpoints.scss +5 -4
  17. data/app/assets/stylesheets/sass-zero/variables/colors.scss +240 -119
  18. data/app/assets/stylesheets/sass-zero/variables/effects.scss +28 -4
  19. data/app/assets/stylesheets/sass-zero/variables/flex.scss +17 -1
  20. data/app/assets/stylesheets/sass-zero/variables/grid.scss +85 -0
  21. data/app/assets/stylesheets/sass-zero/variables/spacing.scss +16 -2
  22. data/app/assets/stylesheets/sass-zero/variables/transform.scss +9 -2
  23. data/app/assets/stylesheets/sass-zero/variables/typography.scss +18 -15
  24. data/app/assets/stylesheets/sass-zero/variables/width.scss +8 -3
  25. data/app/assets/stylesheets/sass-zero/variables/zindex.scss +1 -1
  26. data/lib/sass/zero/version.rb +1 -1
  27. data/package.json +1 -1
  28. metadata +10 -9
  29. data/app/assets/stylesheets/sass-zero/base/breadboard.scss +0 -204
  30. data/app/assets/stylesheets/sass-zero/base/variables.scss +0 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: da0529f23db61de5fdb0dfd396b024df435f1e40be84c0339b2af5f58b73e4b3
4
- data.tar.gz: 456fbcc46813198e3003bdbb457362d5b5e380e57f2777a4dbd5082a02cc9d32
3
+ metadata.gz: 06e133db6d4914987dbc2d77f08bcdd1671ad91fd57debe8c720330bfb708cb0
4
+ data.tar.gz: def1eda7c32c8f426ebb2b0bd43608e3b15ff917e88abb5056c67e07d8633004
5
5
  SHA512:
6
- metadata.gz: 65ca85e6ee52aec6517a5bb64a72cdad1896e12365e016dd9cbce57c4ef550f7d89924772ff1a2d06dfafda8a8b880549249fdfe9fe8e21c240079672ee80f0f
7
- data.tar.gz: a7c5336637313ae0d8df9cf30b462850af502e83584f4f79f9f9d4d67b689dcad35d5e34e63f5bbf73ac1fcfb20154d4e2934c54c567416a62a43d2ff3f146c1
6
+ metadata.gz: 4ad3cb7aad00280da0c4777c1fb10308c77dee3b58855c17aaa193215c320768cfec6906bbd1eb988dd5c498431eb29b46f0223cc4902f643803d9b0470b6861
7
+ data.tar.gz: 8544b5ce046ca7f5742c1e1212fb41d1c65d58829341f741f2d3db3305313f9644df84403299dc59aafcae3240c7f3764136f4eb2bf2a4ca47145b1f399f0e1f
@@ -22,7 +22,7 @@
22
22
 
23
23
  <hr>
24
24
 
25
- <form>
25
+ <form class="push-lg--bottom">
26
26
  <div class="push-md--bottom">
27
27
  <label for="nameField">Name</label>
28
28
  <input type="text" placeholder="CJ Patoilo" id="nameField" class="input">
@@ -41,30 +41,30 @@
41
41
  <div class="push-md--bottom">
42
42
  <div>
43
43
  <input type="checkbox" name="option1" value="1" class="checkbox" checked>
44
- <label for="option1" class="u-display-ib">Option 1</label>
44
+ <label for="option1">Option 1</label>
45
45
  </div>
46
46
  <div>
47
47
  <input type="checkbox" name="option2" value="2" class="checkbox">
48
- <label for="option2" class="u-display-ib">Option 2</label>
48
+ <label for="option2">Option 2</label>
49
49
  </div>
50
50
  <div>
51
51
  <input type="checkbox" name="option3" value="3" class="checkbox">
52
- <label for="option3" class="u-display-ib">Option 3</label>
52
+ <label for="option3">Option 3</label>
53
53
  </div>
54
54
  </div>
55
55
 
56
56
  <div class="push-md--bottom">
57
57
  <div>
58
58
  <input type="radio" name="radio" value="1" class="radio" checked>
59
- <label for="radio" class="u-display-ib">Option 1</label>
59
+ <label for="radio">Option 1</label>
60
60
  </div>
61
61
  <div>
62
62
  <input type="radio" name="radio" value="2" class="radio">
63
- <label for="radio" class="u-display-ib">Option 2</label>
63
+ <label for="radio">Option 2</label>
64
64
  </div>
65
65
  <div>
66
66
  <input type="radio" name="radio" value="3" class="radio">
67
- <label for="radio" class="u-display-ib">Option 3</label>
67
+ <label for="radio">Option 3</label>
68
68
  </div>
69
69
  </div>
70
70
  </div>
data/README.md CHANGED
@@ -31,7 +31,7 @@ Developers should be able to produce your own design, [Refactoring UI](https://r
31
31
  ### Breadboard Theme
32
32
 
33
33
  - [Example](https://github.com/lazaronixon/sass-zero/blob/master/Example.html)
34
- - [Breadboard](https://github.com/lazaronixon/sass-zero/blob/master/app/assets/stylesheets/sass-zero/base/breadboard.scss)
34
+ - [Breadboard](https://github.com/lazaronixon/sass-zero/blob/master/app/assets/stylesheets/sass-zero/breadboard.scss)
35
35
 
36
36
  ### Variables
37
37
 
@@ -40,6 +40,7 @@ Developers should be able to produce your own design, [Refactoring UI](https://r
40
40
  - [Colors](https://github.com/lazaronixon/sass-zero/blob/master/app/assets/stylesheets/sass-zero/variables/colors.scss)
41
41
  - [Effects](https://github.com/lazaronixon/sass-zero/blob/master/app/assets/stylesheets/sass-zero/variables/effects.scss)
42
42
  - [Flex](https://github.com/lazaronixon/sass-zero/blob/master/app/assets/stylesheets/sass-zero/variables/flex.scss)
43
+ - [Grid](https://github.com/lazaronixon/sass-zero/blob/master/app/assets/stylesheets/sass-zero/variables/grid.scss)
43
44
  - [Spacing](https://github.com/lazaronixon/sass-zero/blob/master/app/assets/stylesheets/sass-zero/variables/spacing.scss)
44
45
  - [Transform](https://github.com/lazaronixon/sass-zero/blob/master/app/assets/stylesheets/sass-zero/variables/transform.scss)
45
46
  - [Transition](https://github.com/lazaronixon/sass-zero/blob/master/app/assets/stylesheets/sass-zero/variables/transition.scss)
@@ -50,6 +51,7 @@ Developers should be able to produce your own design, [Refactoring UI](https://r
50
51
 
51
52
  ### Utilities
52
53
 
54
+ - [Animation](https://github.com/lazaronixon/sass-zero/blob/master/app/assets/stylesheets/sass-zero/utilities/animation.scss)
53
55
  - [Margin Push](https://github.com/lazaronixon/sass-zero/blob/master/app/assets/stylesheets/sass-zero/utilities/push.scss)
54
56
  - [Margin Pull](https://github.com/lazaronixon/sass-zero/blob/master/app/assets/stylesheets/sass-zero/utilities/pull.scss)
55
57
  - [Margin Reset](https://github.com/lazaronixon/sass-zero/blob/master/app/assets/stylesheets/sass-zero/utilities/flush.scss)
@@ -76,6 +78,7 @@ Add this line to your application.css:
76
78
  ```css
77
79
  *= require sass-zero/base
78
80
  *= require sass-zero/utilities
81
+ *= require sass-zero/breadboard
79
82
  ```
80
83
 
81
84
  Create some stylesheet using [BEM](http://getbem.com/naming) and [SASS-ZERO Variables](https://github.com/lazaronixon/sass-zero/blob/master/vendor/assets/stylesheets/sass-zero/variables.scss):
@@ -1,3 +1,2 @@
1
1
  @import "base/normalize";
2
2
  @import "base/preflight";
3
- @import "base/breadboard";
@@ -1,4 +1,4 @@
1
- @import "sass-zero/base/variables";
1
+ @import "sass-zero/variables";
2
2
 
3
3
  /**
4
4
  * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
@@ -29,7 +29,6 @@ pre {
29
29
  button {
30
30
  background-color: transparent;
31
31
  background-image: none;
32
- padding: 0;
33
32
  }
34
33
 
35
34
  /**
@@ -70,6 +69,17 @@ html {
70
69
  line-height: 1.5; /* 2 */
71
70
  }
72
71
 
72
+
73
+ /**
74
+ * Inherit font-family and line-height from `html` so users can set them as
75
+ * a class directly on the `html` element.
76
+ */
77
+
78
+ body {
79
+ font-family: inherit;
80
+ line-height: inherit;
81
+ }
82
+
73
83
  /**
74
84
  * 1. Prevent padding and border from affecting element width.
75
85
  *
@@ -102,7 +112,7 @@ html {
102
112
  box-sizing: border-box; /* 1 */
103
113
  border-width: 0; /* 2 */
104
114
  border-style: solid; /* 2 */
105
- border-color: $breadboard-border; /* 2 */
115
+ border-color: $gray-200; /* 2 */
106
116
  }
107
117
 
108
118
  /*
@@ -133,7 +143,7 @@ textarea {
133
143
 
134
144
  input::placeholder,
135
145
  textarea::placeholder {
136
- color: $breadboard-placeholder;
146
+ color: $gray-400;
137
147
  }
138
148
 
139
149
  button,
@@ -0,0 +1,230 @@
1
+ @import "sass-zero/variables";
2
+ @import "sass-zero/mixins";
3
+
4
+ :root {
5
+ --color-bg--main: #{$white};
6
+ --color-bg--surface: #{$gray-100};
7
+ --color-primary: #{$gray-900};
8
+ --color-txt: #{$gray-900};
9
+ --color-focus-ring: #{rgba($gray-900, 0.5)};
10
+ --image-bg-select: url('data:image/svg+xml,<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M6 8l4 4 4-4"/></svg>');
11
+ --image-checked-checkbox: url('data:image/svg+xml,<svg viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><path d="M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z"/></svg>');
12
+ --image-checked-radio: url('data:image/svg+xml,<svg viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="8" r="3"/></svg>');
13
+ }
14
+
15
+ html {
16
+ background: var(--color-bg--main);
17
+ color: var(--color-txt);
18
+ font-size: 14px;
19
+ }
20
+
21
+ main {
22
+ padding-right: $size-2;
23
+ padding-left: $size-2;
24
+ }
25
+
26
+ blockquote {
27
+ border-color: var(--color-primary);
28
+ border-left-width: $border-4;
29
+ padding: $size-3 $size-4;
30
+ }
31
+
32
+ .btn {
33
+ border-radius: $rounded;
34
+ border-width: $border;
35
+ display: inline-block;
36
+ font-weight: $font-bold;
37
+ padding: $size-2 $size-4;
38
+ cursor: pointer;
39
+
40
+ &:focus {
41
+ outline: 2px dotted var(--color-primary);
42
+ outline-offset: 2px;
43
+ }
44
+
45
+ &:disabled {
46
+ pointer-events: none;
47
+ opacity: $opacity-50;
48
+ }
49
+
50
+ &--primary {
51
+ background-color: var(--color-primary);
52
+ border-color: var(--color-primary);
53
+ color: var(--color-bg--main);
54
+ }
55
+
56
+ &--secondary {
57
+ background-color: var(--color-bg--main);
58
+ border-color: var(--color-primary);
59
+ }
60
+
61
+ &--tertiary {
62
+ background-color: $transparent;
63
+ border-color: $transparent;
64
+ }
65
+ }
66
+
67
+ code {
68
+ background-color: var(--color-bg--surface);
69
+ border-radius: $rounded;
70
+ font-size: $text-sm;
71
+ margin: $size-0 $size-1;
72
+ padding: $size-1 $size-2;
73
+ white-space: nowrap;
74
+ }
75
+
76
+ pre {
77
+ background-color: var(--color-bg--surface);
78
+ border-color: var(--color-primary);
79
+ border-left-width: $border-4;
80
+ overflow-y: hidden;
81
+
82
+ & > code {
83
+ border-radius: $rounded-none;
84
+ display: block;
85
+ padding: $size-2 $size-3;
86
+ white-space: pre;
87
+ }
88
+ }
89
+
90
+ hr {
91
+ margin: $size-6 $size-0;
92
+ }
93
+
94
+ .input {
95
+ appearance: none;
96
+ background-color: $transparent;
97
+ border-radius: $rounded;
98
+ border-width: $border;
99
+ padding: $size-2 $size-3;
100
+ width: $size-full;
101
+
102
+ &--select {
103
+ background-image: var(--image-bg-select);
104
+ background-position: right $size-2 center;
105
+ background-repeat: no-repeat;
106
+ background-size: auto $size-5;
107
+ padding-right: $size-8;
108
+ }
109
+
110
+ &:focus {
111
+ box-shadow: ring($color: var(--color-focus-ring));
112
+ @include outline-none;
113
+ }
114
+ }
115
+
116
+ .checkbox {
117
+ border-radius: $rounded;
118
+ @include input-selection(var(--color-primary));
119
+
120
+ &:checked {
121
+ background-image: var(--image-checked-checkbox);
122
+ @include checked;
123
+ }
124
+
125
+ &:focus {
126
+ box-shadow: ring($color: var(--color-focus-ring));
127
+ @include outline-none;
128
+ }
129
+ }
130
+
131
+ .radio {
132
+ border-radius: $rounded-full;
133
+ @include input-selection(var(--color-primary));
134
+
135
+ &:checked {
136
+ background-image: var(--image-checked-radio);
137
+ @include checked;
138
+ }
139
+
140
+ &:focus {
141
+ box-shadow: ring($color: var(--color-focus-ring));
142
+ @include outline-none;
143
+ }
144
+ }
145
+
146
+ label, legend, dt {
147
+ display: inline-block;
148
+ margin-bottom: $size-1;
149
+ }
150
+
151
+ a {
152
+ font-weight: $font-bold;
153
+ }
154
+
155
+ ul {
156
+ list-style: disc inside;
157
+ }
158
+
159
+ ol {
160
+ list-style: decimal inside;
161
+ }
162
+
163
+ h1, h2, h3, h4, h5, h6, .hdg {
164
+ margin-bottom: $size-4;
165
+ }
166
+
167
+ fieldset, .input {
168
+ margin-bottom: $size-6;
169
+ }
170
+
171
+ blockquote, figure, p, pre, table, ul, ol, dl {
172
+ margin-bottom: $size-6;
173
+ }
174
+
175
+ table {
176
+ width: $size-full;
177
+ }
178
+
179
+ td, th {
180
+ border-bottom-width: $border;
181
+ padding: $size-3 $size-4;
182
+ text-align: left;
183
+ }
184
+
185
+ h1, h2, h3, h4, h5, h6, .hdg {
186
+ font-weight: $font-bold;
187
+ line-height: $leading-tight;
188
+ }
189
+
190
+ h1, .hdg--4xl {
191
+ font-size: $text-4xl;
192
+ }
193
+
194
+ h2, .hdg--3xl {
195
+ font-size: $text-3xl;
196
+ }
197
+
198
+ h3, .hdg--2xl {
199
+ font-size: $text-2xl;
200
+ }
201
+
202
+ h4, .hdg--xl {
203
+ font-size: $text-xl;
204
+ }
205
+
206
+ h5, .hdg--lg {
207
+ font-size: $text-lg;
208
+ }
209
+
210
+ h6, .hdg--base {
211
+ font-size: $text-base;
212
+ }
213
+
214
+ @media (prefers-color-scheme: dark) {
215
+ :root {
216
+ --color-bg--main: #{$gray-900};
217
+ --color-bg--surface: #{$gray-800};
218
+ --color-primary: #{$white};
219
+ --color-txt: #{$white};
220
+ --color-focus-ring: #{rgba($gray-100, 0.5)};
221
+ --image-bg-select: url('data:image/svg+xml,<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M6 8l4 4 4-4"/></svg>');
222
+ --image-checked-checkbox: url('data:image/svg+xml,<svg viewBox="0 0 16 16" fill="black" xmlns="http://www.w3.org/2000/svg"><path d="M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z"/></svg>');
223
+ --image-checked-radio: url('data:image/svg+xml,<svg viewBox="0 0 16 16" fill="black" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="8" r="3"/></svg>');
224
+ }
225
+ }
226
+
227
+ @media (min-width: $breakpoint-md) {
228
+ html { font-size: 16px; }
229
+ main { @include make-container($size-10, $breakpoint-xl); }
230
+ }
@@ -3,9 +3,9 @@
3
3
  @import "sass-zero/variables/spacing";
4
4
 
5
5
  @mixin ellipsis {
6
- overflow: hidden;
7
6
  text-overflow: ellipsis;
8
7
  white-space: nowrap;
8
+ overflow: hidden;
9
9
  }
10
10
 
11
11
  @mixin antialiased {
@@ -26,30 +26,39 @@
26
26
  }
27
27
  }
28
28
 
29
- @mixin focus {
30
- border-color: #a4cafe;
31
- box-shadow: $shadow-outline;
32
- outline: 0;
29
+ @mixin checked {
30
+ border-color: transparent;
31
+ background-color: currentColor;
32
+ background-position: center;
33
+ background-repeat: no-repeat;
33
34
  }
34
35
 
35
- @mixin selection($color) {
36
+ @mixin input-selection($color) {
36
37
  appearance: none;
37
38
  border-width: $border;
38
39
  color: $color;
39
- margin-bottom: -0.2rem;
40
+ margin-bottom: -0.1rem;
40
41
  height: $size-4;
41
42
  width: $size-4;
42
43
  }
43
44
 
44
- @mixin checked {
45
- border-color: transparent;
46
- background-color: currentColor;
47
- background-position: center;
48
- background-repeat: no-repeat;
45
+ @mixin outline-none {
46
+ outline: 2px solid transparent;
47
+ outline-offset: 2px;
48
+ }
49
+
50
+ @mixin outline-white {
51
+ outline: 2px dotted white;
52
+ outline-offset: 2px;
53
+ }
54
+
55
+ @mixin outline-black {
56
+ outline: 2px dotted black;
57
+ outline-offset: 2px;
49
58
  }
50
59
 
51
60
  @mixin space-x($space, $reverse: false) {
52
- & > :not(template) ~ :not(template) {
61
+ & > :not([hidden]) ~ :not([hidden]) {
53
62
  @if $reverse {
54
63
  margin-right: $space;
55
64
  } @else {
@@ -59,7 +68,7 @@
59
68
  }
60
69
 
61
70
  @mixin space-y($space, $reverse: false) {
62
- & > :not(template) ~ :not(template) {
71
+ & > :not([hidden]) ~ :not([hidden]) {
63
72
  @if $reverse {
64
73
  margin-bottom: $space;
65
74
  } @else {
@@ -1,3 +1,4 @@
1
+ @import "sass-zero/utilities/animation";
1
2
  @import "sass-zero/utilities/flex";
2
3
  @import "sass-zero/utilities/flush";
3
4
  @import "sass-zero/utilities/layout";