piecss 0.1.6 → 0.1.6.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,8 +6,6 @@
6
6
  // strip-unit
7
7
  // to-unit
8
8
  // to-px
9
- // 2. Mixins:
10
- // rem
11
9
 
12
10
 
13
11
  // 1. FUNCTIONS
@@ -23,11 +21,7 @@
23
21
  * @return {Number} - The value stripped of its unit
24
22
  */
25
23
 
26
- @function strip-unit($value)
27
- {
28
- @if $value==0 {
29
- @return $value;
30
- }
24
+ @function strip-unit($value) {
31
25
  @return $value / ($value * 0 + 1);
32
26
  }
33
27
 
@@ -37,34 +31,47 @@
37
31
  *
38
32
  * @since 0.1
39
33
  *
34
+ * @throws Argument $number needs to be a number.
35
+ *
40
36
  * @param {Number} $target-px - The final size in px
41
- * @param {Number} $unit ($unit) - The final unit to which $target-px is converted, e.g. px, rem, em, %
37
+ * @param {Number} $unit ($unit) - The final unit to which $target-px is converted, e.g. 1px, 1rem, 1em, 1%
42
38
  * @param {Number} $context ($default-font-size) - The context of the targeted element, for calculations to em
43
39
  *
44
40
  * @return {Number} - The value in the requested unit
45
41
  */
46
42
 
47
- @function to-unit($value, $unit: $unit, $context: $default-font-size)
48
- {
49
- @if unit($value) != px {
50
- /* Convert the value to px first */
51
- $value: to-px($value);
43
+ @function to-unit($number, $unit: $unit, $context: $default-font-size) {
44
+ @if not(type-of($number)==number) {
45
+ @warn 'Argument $number needs to be a number.';
46
+ @return $number;
52
47
  }
53
48
 
54
- @if unit($unit)=="%" {
55
- $value: percentage($value / $context);
49
+ @if strip-unit($number)==0 {
50
+ @return strip-unit($number);
56
51
  }
57
- @elseif unit($unit)=="px" {
58
- $value: $value;
52
+
53
+ @if unitless($number) and not($number==0) {
54
+ /* We're dealing with a rhythm number, convert to px */
55
+ $number: -rhythm-units($number);
56
+ }
57
+
58
+ @if unit($number) != px {
59
+ /* Convert the value to px first */
60
+ $number: to-px($number);
59
61
  }
60
- @else {
61
- $value: $value / $context * $unit;
62
+
63
+ @if unit($unit)=='px' {
64
+ } @elseif unit($unit)=='%' {
65
+ $number: percentage($number / $context);
66
+ } @elseif unit($unit)=='rem' {
67
+ $number: $number / $default-font-size * $unit;
68
+ } @else {
69
+ $number: $number / $context * $unit;
62
70
  }
63
71
 
64
- @return $value;
72
+ @return $number;
65
73
  }
66
74
 
67
-
68
75
  /**
69
76
  * Convert any unit to a px value, within the context of it's containing element
70
77
  *
@@ -76,18 +83,13 @@
76
83
  * @return {Number} - The value in px
77
84
  */
78
85
 
79
- @function to-px($value, $context: $default-font-size)
80
- {
81
- @if unit($value)=="px" {
82
- @debug $value;
83
- }
84
- @elseif unit($value)=="rem" {
86
+ @function to-px($value, $context: $default-font-size) {
87
+ @if unit($value)=='px' {
88
+ } @elseif unit($value)=='rem' {
85
89
  $value: rem-to-px($value);
86
- }
87
- @elseif unit($value)=="em" {
90
+ } @elseif unit($value)=='em' {
88
91
  $value: em-to-px($value, $context);
89
- }
90
- @elseif unit($value)=="%" {
92
+ } @elseif unit($value)=='%' {
91
93
  $value: percentage-to-px($value);
92
94
  }
93
95
 
@@ -105,8 +107,7 @@
105
107
  * @return {Number} - The value in px
106
108
  */
107
109
 
108
- @function rem-to-px($value)
109
- {
110
+ @function rem-to-px($value) {
110
111
  @return $default-font-size * strip-unit($value);
111
112
  }
112
113
 
@@ -121,8 +122,7 @@
121
122
  * @return {Number} - The value in px
122
123
  */
123
124
 
124
- @function em-to-px($value, $context: $default-font-size)
125
- {
125
+ @function em-to-px($value, $context: $default-font-size) {
126
126
  @return $context * strip-unit($value);
127
127
  }
128
128
 
@@ -139,28 +139,6 @@
139
139
  * @return {Number} - The value in px
140
140
  */
141
141
 
142
- @function percentage-to-px($value, $context: $default-font-size1)
143
- {
144
- @return $value/10% + 0px;
142
+ @function percentage-to-px($value, $context: $default-font-size) {
143
+ @return $value/100% * $context;
145
144
  }
146
-
147
-
148
- // 2. MIXINS
149
-
150
-
151
- /**
152
- * Mixin a property in rem and the fallback in another unit
153
- *
154
- * @since 0.1
155
- *
156
- * @param {Number} $target-px - The targeted size in px
157
- * @param {String} $property - The property-name
158
- * @param {Number} $unit ($rem-fallback-unit) - The fallback unit to use
159
- * @param {Number} $context-px ($default-font-size) - The context of the targeted element
160
- */
161
-
162
- @mixin rem($target-px, $property, $unit: $rem-fallback-unit, $context: $default-font-size)
163
- {
164
- #{$property}: to-unit($target-px, $context, $rem-fallback-unit);
165
- #{$property}: to-unit($target-px, $default-font-size, 1rem);
166
- }
@@ -14,3 +14,4 @@
14
14
  @import "utilities/image";
15
15
  @import "utilities/list";
16
16
  @import "utilities/miscellaneous";
17
+
@@ -89,8 +89,8 @@ $debug-rhythm: false;
89
89
  // Or, import individually:
90
90
 
91
91
  /*
92
- @import "../../sass/base";
93
- @import "../../sass/grid";
94
- @import "../../sass/form";
95
- @import "../../sass/list";
92
+ @import "piecss/behavior/base";
93
+ @import "piecss/behavior/grid";
94
+ @import "piecss/behavior/form";
95
+ @import "piecss/behavior/list";
96
96
  */
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: piecss
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Babs Gosgens
@@ -126,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
126
  version: '0'
127
127
  requirements: []
128
128
  rubyforge_project:
129
- rubygems_version: 2.2.2
129
+ rubygems_version: 2.4.1
130
130
  signing_key:
131
131
  specification_version: 4
132
132
  summary: A collection of tools for building responsive websites.