flint-gs 2.1.4 → 2.2.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.
- checksums.yaml +4 -4
- data/README.md +2 -25
- data/lib/flint/functions.rb +117 -82
- data/lib/flint/version.rb +1 -1
- data/stylesheets/flint/functions/helpers/_helpers.scss +2 -2
- data/stylesheets/flint/functions/lib/_calc-width.scss +5 -5
- data/stylesheets/flint/functions/lib/_exists.scss +21 -13
- data/stylesheets/flint/functions/lib/_get-instance-value.scss +1 -1
- data/stylesheets/flint/functions/lib/_has-family-instance.scss +11 -10
- data/stylesheets/flint/functions/lib/_instance.scss +4 -4
- data/stylesheets/flint/functions/lib/_list-to-string.scss +1 -1
- data/stylesheets/flint/functions/lib/_map-fetch.scss +1 -1
- data/stylesheets/flint/functions/lib/_replace-substring.scss +1 -1
- data/stylesheets/flint/functions/lib/_steal-key.scss +2 -2
- data/stylesheets/flint/functions/lib/_string-to-list.scss +1 -1
- data/stylesheets/flint/functions/lib/_support-syntax.scss +1 -1
- data/stylesheets/flint/functions/lib/_use-syntax.scss +4 -4
- data/stylesheets/flint/globals/_globals.scss +13 -13
- data/stylesheets/flint/mixins/lib/_calculate.scss +8 -8
- data/stylesheets/flint/mixins/lib/_main.scss +28 -28
- data/stylesheets/flint/mixins/lib/_new-instance.scss +1 -1
- data/stylesheets/flint/mixins/lib/_print-instance.scss +1 -1
- data/tests/config.rb +90 -19
- data/tests/input/functions/lib/_get-instance-value.scss +3 -3
- data/tests/input/functions/lib/_has-family-instance.scss +2 -2
- data/tests/input/functions/lib/_instance.scss +10 -10
- data/tests/input/output.scss +4 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9f756a8f74ec0109b5b0e6bab31bc7721a65f99
|
4
|
+
data.tar.gz: 2e9e4b2af16cf3e4344c875802c16b2ddab45362
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6986295e0c48b1b0b7ea33d7ec4adbedf32209d0a573175daa7d0a42fe3825ebe30478991c250329682c491a28ea84c6799a2c56d44fe834640fae6f1b5408df
|
7
|
+
data.tar.gz: 8e2023f8c225d5f80214f1b89dfd474c01747cd696a5b79c0e94c23fd53010f824dad684fa7da0f79292e337f38ffb1ac3d36c6de87a50e3fe8b7a5d6fd233d8
|
data/README.md
CHANGED
@@ -63,32 +63,9 @@ function parses the selector string (for example, `.block__element__element`) li
|
|
63
63
|
///
|
64
64
|
/// @group Internal Functions
|
65
65
|
///
|
66
|
-
@function flint-support-syntax-bem($selectors) {
|
67
|
-
// Clean up selector, remove double underscores for spaces
|
68
|
-
// add pseudo character to differentiate selectors
|
69
|
-
$selectors: flint-replace-substring(inspect(unquote($selectors)), "__", "/");
|
70
|
-
// Parse string back to list without pseudo character
|
71
|
-
$selectors: flint-string-to-list($selectors, "/");
|
72
|
-
// Define top-most parent of selector
|
73
|
-
$parent: nth($selectors, 1);
|
74
|
-
// Create new list of parsed selectors
|
75
|
-
$selector-list: ("#{$parent}",);
|
76
|
-
|
77
|
-
// Loop over each selector and build list of selectors
|
78
|
-
@each $selector in $selectors {
|
79
|
-
// Make sure current selector is not the parent
|
80
|
-
@if $selector != $parent {
|
81
|
-
// Save to selector list
|
82
|
-
$selector-list: append($selector-list, "#{$parent}__#{$selector}", "comma");
|
83
|
-
// Define new parent
|
84
|
-
$parent: "#{$parent}__#{$selector}";
|
85
|
-
}
|
86
|
-
}
|
87
|
-
|
88
|
-
// Return the list of parsed selectors
|
89
|
-
@return $selector-list;
|
90
|
-
}
|
66
|
+
@function flint-support-syntax-bem($selectors) { ... }
|
91
67
|
```
|
68
|
+
[View Source](https://github.com/ezekg/flint/blob/master/stylesheets/flint/functions/lib/_support-syntax-bem.scss)
|
92
69
|
|
93
70
|
This will be parsed into a list of selectors: `.block, .block__element, .block__element__element`. The list of selectors can then be used by the
|
94
71
|
instance system to look up a selectors parent, etc. To support your own preferred syntax: create a `flint-support-syntax-<syntax-name>` function
|
data/lib/flint/functions.rb
CHANGED
@@ -1,92 +1,127 @@
|
|
1
1
|
module Flint
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
def self.declare(*args)
|
4
|
+
Sass::Script::Functions.declare(*args)
|
5
|
+
end
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
7
|
+
#
|
8
|
+
# Use ruby functions
|
9
|
+
#
|
10
|
+
# @return {Bool}
|
11
|
+
#
|
12
|
+
def flint_use_ruby()
|
13
|
+
Sass::Script::Bool.new(true)
|
14
|
+
end
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
16
|
+
#
|
17
|
+
# Fetch value from map
|
18
|
+
#
|
19
|
+
# @param {Map} map - map to fetch value from
|
20
|
+
# @param {ArgList} keys - list of keys to traverse
|
21
|
+
#
|
22
|
+
# @return {*}
|
23
|
+
#
|
24
|
+
def flint_ruby_map_fetch(map, *keys)
|
25
|
+
assert_type map, :Map, :map
|
26
|
+
|
27
|
+
result = map
|
28
|
+
keys.each { |key| result.nil? ? break : result = result.to_h.fetch(key, nil) }
|
29
|
+
|
30
|
+
unless result.nil?
|
31
|
+
result
|
32
|
+
else
|
33
|
+
Sass::Script::Bool.new(false)
|
33
34
|
end
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
35
|
+
end
|
36
|
+
declare :flint_ruby_map_fetch, :args => [:map, :keys], :var_args => true
|
37
|
+
|
38
|
+
#
|
39
|
+
# Joins all elements of list with passed glue
|
40
|
+
#
|
41
|
+
# @param {List} list
|
42
|
+
# @param {String} glue
|
43
|
+
#
|
44
|
+
# @return {String}
|
45
|
+
#
|
46
|
+
def flint_ruby_list_to_string(list, glue)
|
47
|
+
assert_type list, :List, :list
|
48
|
+
assert_type glue, :String, :glue
|
49
|
+
|
50
|
+
arr = list.to_a.flatten.map { |item| item.value }
|
51
|
+
|
52
|
+
Sass::Script::String.new(arr.join(glue.value))
|
53
|
+
end
|
54
|
+
declare :flint_ruby_list_to_string, :args => [:list, :glue]
|
55
|
+
|
56
|
+
#
|
57
|
+
# Turn string into a flat list
|
58
|
+
#
|
59
|
+
# @param {String} string - string to operate on
|
60
|
+
# @param {String} separator - item to find which separates substrings
|
61
|
+
# @param {String} ignore - removes remaining string beyond item
|
62
|
+
#
|
63
|
+
# @return {List}
|
64
|
+
#
|
65
|
+
def flint_ruby_string_to_list(string, separator, ignore)
|
66
|
+
assert_type string, :String, :string
|
67
|
+
assert_type separator, :String, :separator
|
68
|
+
assert_type ignore, :String, :ignore
|
69
|
+
|
70
|
+
# Remove everything after ignore, split with separator
|
71
|
+
items = string.value[/[^#{ignore}]+/].split(separator.value)
|
72
|
+
|
73
|
+
if items.count == 1
|
74
|
+
Sass::Script::String.new(items[0], :comma)
|
75
|
+
else
|
76
|
+
Sass::Script::List.new(items.map { |i| Sass::Script::String.new(i) }, :comma)
|
49
77
|
end
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
78
|
+
end
|
79
|
+
declare :flint_ruby_string_to_list, :args => [:string, :separator, :ignore]
|
80
|
+
|
81
|
+
#
|
82
|
+
# Replace substring with string
|
83
|
+
#
|
84
|
+
# @param {String} string - string that contains substring
|
85
|
+
# @param {String} find - substring to replace
|
86
|
+
# @param {String} replace - new string to replace sub with
|
87
|
+
#
|
88
|
+
# @return {String}
|
89
|
+
#
|
90
|
+
def flint_ruby_replace_substring(string, find, replace)
|
91
|
+
assert_type string, :String, :string
|
92
|
+
assert_type find, :String, :find
|
93
|
+
assert_type replace, :String, :replace
|
94
|
+
|
95
|
+
Sass::Script::String.new(string.value.gsub(find.value, replace.value))
|
96
|
+
end
|
97
|
+
declare :flint_ruby_replace_substring, :args => [:string, :find, :replace]
|
98
|
+
|
99
|
+
#
|
100
|
+
# Check if key exists in map
|
101
|
+
#
|
102
|
+
# @param {Map} map - map to search
|
103
|
+
# @param {String} key - key to search for
|
104
|
+
#
|
105
|
+
# @return {Bool}
|
106
|
+
#
|
107
|
+
def flint_ruby_exists(map, key)
|
108
|
+
assert_type map, :Map, :map
|
109
|
+
assert_type key, :String, :key
|
110
|
+
|
111
|
+
hash = map.to_h
|
112
|
+
|
113
|
+
if hash.fetch(key, false)
|
114
|
+
return Sass::Script::Bool.new(true)
|
115
|
+
else
|
116
|
+
hash.each do |_, value|
|
117
|
+
if value.is_a?(Sass::Script::Value::Map)
|
118
|
+
return Sass::Script::Bool.new(true) if flint_ruby_exists(value, key).value
|
71
119
|
end
|
120
|
+
end
|
72
121
|
end
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
#
|
78
|
-
# @param {String} string - string that contains substring
|
79
|
-
# @param {String} find - substring to replace
|
80
|
-
# @param {String} replace - new string to replace sub with
|
81
|
-
#
|
82
|
-
# @return {String}
|
83
|
-
###
|
84
|
-
def flint_ruby_replace_substring(string, find, replace)
|
85
|
-
assert_type string, :String, :string
|
86
|
-
assert_type find, :String, :find
|
87
|
-
assert_type replace, :String, :replace
|
88
|
-
Sass::Script::String.new(string.value.gsub(find.value, replace.value))
|
89
|
-
end
|
90
|
-
declare :flint_ruby_replace_substring, :args => [:string, :find, :replace]
|
122
|
+
|
123
|
+
Sass::Script::Bool.new(false)
|
124
|
+
end
|
125
|
+
declare :flint_ruby_exists, :args => [:map, :key]
|
91
126
|
|
92
127
|
end
|
data/lib/flint/version.rb
CHANGED
@@ -198,7 +198,7 @@
|
|
198
198
|
///
|
199
199
|
/// @return {Number} em value of target relative to context
|
200
200
|
///
|
201
|
-
@function flint-to-em($target, $context: $
|
201
|
+
@function flint-to-em($target, $context: $flint-base-font-size) {
|
202
202
|
@return ($target / $context) * 1em;
|
203
203
|
}
|
204
204
|
|
@@ -212,7 +212,7 @@
|
|
212
212
|
///
|
213
213
|
/// @return {Number} rem value of target relative to context
|
214
214
|
///
|
215
|
-
@function flint-to-rem($target, $context: $
|
215
|
+
@function flint-to-rem($target, $context: $flint-base-font-size) {
|
216
216
|
@return ($target / $context) * 1rem;
|
217
217
|
}
|
218
218
|
|
@@ -16,8 +16,8 @@
|
|
16
16
|
$result: ();
|
17
17
|
|
18
18
|
// Check to see if value has been cached
|
19
|
-
@if map-has-key($
|
20
|
-
@return map-get($
|
19
|
+
@if map-has-key($flint-cached-values, "#{$key, $span, $context, $deduct}::width") and $context != "auto" {
|
20
|
+
@return map-get($flint-cached-values, "#{$key, $span, $context, $deduct}::width");
|
21
21
|
}
|
22
22
|
|
23
23
|
@if $span == "container" {
|
@@ -30,7 +30,7 @@
|
|
30
30
|
// Check if instance maps are enabled
|
31
31
|
//
|
32
32
|
@if not flint-get-value("settings", "instance-maps") {
|
33
|
-
@if not $
|
33
|
+
@if not $flint-development-mode {
|
34
34
|
@error "Instance maps are disabled. Automatic context is not available. Enable `instance-maps` in the config to continue.";
|
35
35
|
} @else {
|
36
36
|
@warn "Instance maps are disabled. Automatic context is not available. Enable `instance-maps` in the config to continue.";
|
@@ -41,7 +41,7 @@
|
|
41
41
|
$result: map-merge($result, ("target": ((flint-get-instance-value($key, "internal", "width") / flint-get-instance-value($key, "span") * $span) - if($deduct, $deduct, 0))));
|
42
42
|
$result: map-merge($result, ("context": flint-get-instance-value($key, "internal", "width")));
|
43
43
|
} @else {
|
44
|
-
@if not $
|
44
|
+
@if not $flint-development-mode {
|
45
45
|
@error "You set context to `#{$context}`, but a parent instance could not be found for `#{nth(&, 1) + '::' + $key}`";
|
46
46
|
} @else {
|
47
47
|
@return false;
|
@@ -62,7 +62,7 @@
|
|
62
62
|
|
63
63
|
// Save result to cache
|
64
64
|
@if $context != "auto" {
|
65
|
-
$
|
65
|
+
$flint-cached-values: map-merge($flint-cached-values, ("#{$key, $span, $context, $deduct}::width": $result));
|
66
66
|
}
|
67
67
|
|
68
68
|
// Return result
|
@@ -3,26 +3,34 @@
|
|
3
3
|
///
|
4
4
|
/// @access private
|
5
5
|
///
|
6
|
-
/// @param {Map} $map
|
7
|
-
/// @param {String} $
|
6
|
+
/// @param {Map} $map - map to search
|
7
|
+
/// @param {String} $key - key to search for
|
8
8
|
///
|
9
9
|
/// @return {Bool}
|
10
10
|
///
|
11
11
|
/// @group Internal Functions
|
12
12
|
///
|
13
|
-
@function flint-exists($map, $
|
14
|
-
$is-map: flint-is-map($map);
|
15
|
-
$top-has-key: $is-map and map-has-key($map, $value) or false;
|
13
|
+
@function flint-exists($map, $key) {
|
16
14
|
|
17
|
-
@if
|
18
|
-
@return
|
19
|
-
}
|
20
|
-
|
21
|
-
|
22
|
-
|
15
|
+
@if not flint-is-string($key) {
|
16
|
+
@return false;
|
17
|
+
}
|
18
|
+
|
19
|
+
// Use Ruby function if available
|
20
|
+
@if $flint-use-ruby-functions {
|
21
|
+
@return flint_ruby_exists($map, $key);
|
22
|
+
} @else {
|
23
|
+
$is-map: flint-is-map($map);
|
24
|
+
$top-has-key: $is-map and map-has-key($map, $key) or false;
|
25
|
+
|
26
|
+
@if $top-has-key {
|
27
|
+
@return true;
|
28
|
+
} @else if $is-map {
|
29
|
+
@each $m, $k in $map {
|
30
|
+
@return flint-exists($k, $key)
|
23
31
|
}
|
24
32
|
}
|
25
|
-
}
|
26
33
|
|
27
|
-
|
34
|
+
@return false;
|
35
|
+
}
|
28
36
|
}
|
@@ -11,5 +11,5 @@
|
|
11
11
|
/// @group Internal Functions
|
12
12
|
///
|
13
13
|
@function flint-get-instance-value($key, $values...) {
|
14
|
-
@return flint-map-fetch($
|
14
|
+
@return flint-map-fetch($flint-instances, flint-has-family-instance($key), $values...);
|
15
15
|
}
|
@@ -10,13 +10,13 @@
|
|
10
10
|
///
|
11
11
|
/// @group Internal Functions
|
12
12
|
///
|
13
|
-
@function flint-has-family-instance($key: flint-get-value("settings", "default"), $syntax: $
|
13
|
+
@function flint-has-family-instance($key: flint-get-value("settings", "default"), $syntax: $flint-support-syntax) {
|
14
14
|
$selector: nth(&, 1);
|
15
15
|
|
16
16
|
// Check if instance result had been cached
|
17
|
-
@if map-has-key($
|
17
|
+
@if map-has-key($flint-cached-instances, "#{$selector}") {
|
18
18
|
// Get cached instance
|
19
|
-
$cached-instance: map-get($
|
19
|
+
$cached-instance: map-get($flint-cached-instances, "#{$selector}");
|
20
20
|
// Return with current key
|
21
21
|
@return "#{$cached-instance}::#{$key}";
|
22
22
|
}
|
@@ -30,18 +30,18 @@
|
|
30
30
|
// Loop through transformed selectors
|
31
31
|
@for $i from 1 through $length {
|
32
32
|
|
33
|
-
// Check
|
34
|
-
@if flint-exists($
|
33
|
+
// Check last selector in list
|
34
|
+
@if flint-exists($flint-instances, "#{flint-last($parsed-selector)}::#{$key}") {
|
35
35
|
|
36
36
|
// Cache result
|
37
|
-
$
|
37
|
+
$flint-cached-instances: map-merge($flint-cached-instances, ("#{$selector}": "#{flint-last($parsed-selector)}"));
|
38
38
|
|
39
39
|
// Return the matching instance key
|
40
40
|
@return "#{flint-last($parsed-selector)}::#{$key}";
|
41
41
|
|
42
42
|
} @else {
|
43
43
|
|
44
|
-
// Else,
|
44
|
+
// Else, remove the last selector and loop again
|
45
45
|
$parsed-selector: flint-remove($parsed-selector, flint-last($parsed-selector));
|
46
46
|
|
47
47
|
}
|
@@ -56,15 +56,16 @@
|
|
56
56
|
|
57
57
|
// Loop through length of list of selectors
|
58
58
|
@for $i from 1 through $length {
|
59
|
+
$selector-string: flint-list-to-string($selector-list, " ");
|
59
60
|
|
60
61
|
// Make sure that we're not counting the current selector set
|
61
|
-
@if flint-exists($
|
62
|
+
@if flint-exists($flint-instances, "#{$selector-string}::#{$key}") and $selector != $selector-list {
|
62
63
|
|
63
64
|
// Cache result
|
64
|
-
$
|
65
|
+
$flint-cached-instances: map-merge($flint-cached-instances, ("#{$selector}": "#{$selector-string}"));
|
65
66
|
|
66
67
|
// Return the matching instance key
|
67
|
-
@return "#{
|
68
|
+
@return "#{$selector-string}::#{$key}";
|
68
69
|
|
69
70
|
} @else {
|
70
71
|
|
@@ -18,14 +18,14 @@
|
|
18
18
|
@function flint-instance($key, $span, $context, $gutter, $output-width, $output-margin-right, $output-margin-left) {
|
19
19
|
|
20
20
|
// Increase the instance count
|
21
|
-
$
|
21
|
+
$flint-instance-count: $flint-instance-count + 1 !global;
|
22
22
|
|
23
23
|
// Lets clean up the selector a bit...
|
24
24
|
$selector: nth(&, 1);
|
25
25
|
|
26
|
-
$
|
26
|
+
$flint-instance: (
|
27
27
|
"#{$selector}::#{$key}": (
|
28
|
-
"instance-count": $
|
28
|
+
"instance-count": $flint-instance-count,
|
29
29
|
"parent-selector": if(flint-has-family-instance($key) != false, flint-has-family-instance($key), none),
|
30
30
|
"key": $key,
|
31
31
|
"breakpoint": flint-get-value("breakpoints", $key, "breakpoint"),
|
@@ -41,5 +41,5 @@
|
|
41
41
|
)
|
42
42
|
);
|
43
43
|
|
44
|
-
@return map-merge($
|
44
|
+
@return map-merge($flint-instance, $flint-instances);
|
45
45
|
}
|
@@ -16,7 +16,7 @@
|
|
16
16
|
@function flint-list-to-string($list, $glue: "", $is-nested: false) {
|
17
17
|
|
18
18
|
// Use Ruby function if available
|
19
|
-
@if $
|
19
|
+
@if $flint-use-ruby-functions {
|
20
20
|
@return flint_ruby_list_to_string($list, $glue);
|
21
21
|
} @else {
|
22
22
|
$result: null;
|
@@ -14,7 +14,7 @@
|
|
14
14
|
@function flint-replace-substring($string, $substring, $new-substring: " ") {
|
15
15
|
|
16
16
|
// Use Ruby function if available
|
17
|
-
@if $
|
17
|
+
@if $flint-use-ruby-functions {
|
18
18
|
@return flint_ruby_replace_substring($string, $substring, $new-substring);
|
19
19
|
} @else {
|
20
20
|
// Loop through length of string
|
@@ -13,7 +13,7 @@
|
|
13
13
|
$length: length(map-keys(flint-get-value("breakpoints")));
|
14
14
|
|
15
15
|
@if not flint-is-number($index) {
|
16
|
-
@if not $
|
16
|
+
@if not $flint-development-mode {
|
17
17
|
@error "Passed $index (#{$index}) is not a number. Function takes index number of breakpoint key.";
|
18
18
|
} @else {
|
19
19
|
@return false;
|
@@ -21,7 +21,7 @@
|
|
21
21
|
}
|
22
22
|
|
23
23
|
@if $index > $length {
|
24
|
-
@if not $
|
24
|
+
@if not $flint-development-mode {
|
25
25
|
@error "Passed $index (#{$index}) is greater than the length of the config map.";
|
26
26
|
} @else {
|
27
27
|
@return false;
|
@@ -22,7 +22,7 @@
|
|
22
22
|
@return call("flint-support-syntax-#{$syntax}", $selectors);
|
23
23
|
|
24
24
|
} @else {
|
25
|
-
@if not $
|
25
|
+
@if not $flint-development-mode {
|
26
26
|
// Throw error if the syntax does not exist and a function to call cannot be found
|
27
27
|
@error "You did not pass a valid syntax to `flint-support-syntax`: #{$syntax}. Either specify a custom `flint-support-syntax-<syntax>` function to call, or use one of the offically supported syntaxes. For more info, please visit the docs.";
|
28
28
|
} @else {
|
@@ -10,11 +10,11 @@
|
|
10
10
|
/// @group Internal Functions
|
11
11
|
///
|
12
12
|
@function flint-use-syntax($selectors) {
|
13
|
-
@if $
|
14
|
-
@return flint-support-syntax($
|
13
|
+
@if $flint-support-syntax {
|
14
|
+
@return flint-support-syntax($flint-support-syntax, $selectors);
|
15
15
|
} @else {
|
16
|
-
@if not $
|
17
|
-
@error "Support syntax is set to #{$
|
16
|
+
@if not $flint-development-mode {
|
17
|
+
@error "Support syntax is set to #{$flint-support-syntax}. Aborting mission.";
|
18
18
|
} @else {
|
19
19
|
@return false;
|
20
20
|
}
|
@@ -9,7 +9,7 @@
|
|
9
9
|
///
|
10
10
|
/// @type Bool
|
11
11
|
///
|
12
|
-
$
|
12
|
+
$flint-development-mode: false !global;
|
13
13
|
|
14
14
|
///
|
15
15
|
/// Set global variable to check if foundation has been set
|
@@ -18,7 +18,7 @@ $flint__development-mode: false !global;
|
|
18
18
|
///
|
19
19
|
/// @type String
|
20
20
|
///
|
21
|
-
$
|
21
|
+
$flint-foundation: "non-existent" !global;
|
22
22
|
|
23
23
|
///
|
24
24
|
/// Keep count of all instances
|
@@ -27,7 +27,7 @@ $flint__foundation: "non-existent" !global;
|
|
27
27
|
///
|
28
28
|
/// @type Number
|
29
29
|
///
|
30
|
-
$
|
30
|
+
$flint-instance-count: 0 !global;
|
31
31
|
|
32
32
|
///
|
33
33
|
/// Keep map of all instances
|
@@ -36,7 +36,7 @@ $flint__instance-count: 0 !global;
|
|
36
36
|
///
|
37
37
|
/// @type Map
|
38
38
|
///
|
39
|
-
$
|
39
|
+
$flint-instances: () !global;
|
40
40
|
|
41
41
|
///
|
42
42
|
/// Font size for em calculation
|
@@ -45,7 +45,7 @@ $flint__instances: () !global;
|
|
45
45
|
///
|
46
46
|
/// @type Number
|
47
47
|
///
|
48
|
-
$
|
48
|
+
$flint-base-font-size: 16px !global;
|
49
49
|
|
50
50
|
///
|
51
51
|
/// Detect if Ruby functions are available
|
@@ -54,7 +54,7 @@ $flint__base-font-size: 16px !global;
|
|
54
54
|
///
|
55
55
|
/// @type Bool
|
56
56
|
///
|
57
|
-
$
|
57
|
+
$flint-use-ruby-functions: if(flint-use-ruby-functions() == true, true, false) !global;
|
58
58
|
|
59
59
|
///
|
60
60
|
/// Global syntax support
|
@@ -63,7 +63,7 @@ $flint__use-ruby-functions: if(flint-use-ruby-functions() == true, true, false)
|
|
63
63
|
///
|
64
64
|
/// @type String
|
65
65
|
///
|
66
|
-
$
|
66
|
+
$flint-support-syntax: flint-get-value("settings", "support-syntax") !global;
|
67
67
|
|
68
68
|
///
|
69
69
|
/// Gather all keys, breakpoints and column counts
|
@@ -72,9 +72,9 @@ $flint__support-syntax: flint-get-value("settings", "support-syntax") !global;
|
|
72
72
|
///
|
73
73
|
/// @type List
|
74
74
|
///
|
75
|
-
$
|
76
|
-
$
|
77
|
-
$
|
75
|
+
$flint-all-keys: flint-get-all-keys() !global;
|
76
|
+
$flint-all-breakpoints: flint-get-all-breakpoints() !global;
|
77
|
+
$flint-all-columns: flint-get-all-columns() !global;
|
78
78
|
|
79
79
|
///
|
80
80
|
/// Cache selector instance lists
|
@@ -83,7 +83,7 @@ $flint__all-columns: flint-get-all-columns() !global;
|
|
83
83
|
///
|
84
84
|
/// @type Map
|
85
85
|
///
|
86
|
-
$
|
86
|
+
$flint-cached-instances: () !global;
|
87
87
|
|
88
88
|
///
|
89
89
|
/// Cache calculated values
|
@@ -92,7 +92,7 @@ $flint__cached-instances: () !global;
|
|
92
92
|
///
|
93
93
|
/// @type Map
|
94
94
|
///
|
95
|
-
$
|
95
|
+
$flint-cached-values: () !global;
|
96
96
|
|
97
97
|
///
|
98
98
|
/// Cache calculation results
|
@@ -101,4 +101,4 @@ $flint__cached-values: () !global;
|
|
101
101
|
///
|
102
102
|
/// @type Map
|
103
103
|
///
|
104
|
-
$
|
104
|
+
$flint-cached-results: () !global;
|
@@ -14,7 +14,7 @@
|
|
14
14
|
@mixin flint-output($width, $margin-right, $margin-left) {
|
15
15
|
|
16
16
|
@if not flint-is-map($width) {
|
17
|
-
@if not $
|
17
|
+
@if not $flint-development-mode {
|
18
18
|
@error "Passed $width (#{$width}) was not a map; a map containing a target / context combination is required."
|
19
19
|
}
|
20
20
|
}
|
@@ -65,9 +65,9 @@
|
|
65
65
|
//
|
66
66
|
// Check lengths, if invalid throw error
|
67
67
|
//
|
68
|
-
@if flint-types-in-list($calc-gutter, "string") and length($calc-gutter) != length($
|
69
|
-
@if not $
|
70
|
-
@error "Invalid argument length of #{length($calc-gutter)} for gutter. If you're using a shorthand, please provide an argument for each breakpoint in your config (#{length($
|
68
|
+
@if flint-types-in-list($calc-gutter, "string") and length($calc-gutter) != length($flint-all-keys) {
|
69
|
+
@if not $flint-development-mode {
|
70
|
+
@error "Invalid argument length of #{length($calc-gutter)} for gutter. If you're using a shorthand, please provide an argument for each breakpoint in your config (#{length($flint-all-keys)}). Your argument was: #{$calc-gutter}";
|
71
71
|
}
|
72
72
|
}
|
73
73
|
|
@@ -95,8 +95,8 @@
|
|
95
95
|
// Check for cached results
|
96
96
|
//
|
97
97
|
@if $calc-context != "auto" and $calc-span != 0 {
|
98
|
-
@if map-has-key($
|
99
|
-
$result: map-get($
|
98
|
+
@if map-has-key($flint-cached-results, "#{$calc-key, $calc-span, $calc-context, $calc-gutter, $i}") {
|
99
|
+
$result: map-get($flint-cached-results, "#{$calc-key, $calc-span, $calc-context, $calc-gutter, $i}");
|
100
100
|
|
101
101
|
// Get results
|
102
102
|
$output-width-map: nth($result, 1);
|
@@ -206,7 +206,7 @@
|
|
206
206
|
$output-margin-left: 0;
|
207
207
|
|
208
208
|
} @else {
|
209
|
-
@if not $
|
209
|
+
@if not $flint-development-mode {
|
210
210
|
@error "Invalid gutter argument: #{$calc-gutter}. Please provide a valid argument.";
|
211
211
|
} @else {
|
212
212
|
$errors: true;
|
@@ -218,7 +218,7 @@
|
|
218
218
|
|
219
219
|
// Cache result
|
220
220
|
@if $calc-context != "auto" and $calc-span != 0 and not $cached {
|
221
|
-
$
|
221
|
+
$flint-cached-results: map-merge($flint-cached-results, (
|
222
222
|
"#{$calc-key, $calc-span, $calc-context, $calc-gutter, $i}": ($output-width-map, $output-margin-right, $output-margin-left)
|
223
223
|
)) !global;
|
224
224
|
}
|
@@ -499,11 +499,11 @@
|
|
499
499
|
|
500
500
|
// Apply global border-box-sizing if set to true
|
501
501
|
@if flint-get-value("settings", "border-box-sizing") {
|
502
|
-
$
|
502
|
+
$flint-foundation: "existent" !global;
|
503
503
|
}
|
504
504
|
|
505
505
|
// Foundation is now globally existant
|
506
|
-
@if $
|
506
|
+
@if $flint-foundation == "existent" {
|
507
507
|
@at-root *, *:before, *:after {
|
508
508
|
@include flint-box-sizing;
|
509
509
|
@content;
|
@@ -516,14 +516,14 @@
|
|
516
516
|
} @else if $key == "container" or $span == "container" or $context == "container" {
|
517
517
|
|
518
518
|
// Apply individually if foundation is not set globally, but is set to true in config
|
519
|
-
@if flint-get-value("settings", "border-box-sizing") and $
|
519
|
+
@if flint-get-value("settings", "border-box-sizing") and $flint-foundation == "non-existent" {
|
520
520
|
@include _("foundation");
|
521
521
|
}
|
522
522
|
|
523
523
|
// Output container for each breakpoint if fixed grid
|
524
524
|
@if $key == "container" and flint-get-value("settings", "grid") == "fixed" {
|
525
525
|
|
526
|
-
@for $i from 1 through length($
|
526
|
+
@for $i from 1 through length($flint-all-keys) {
|
527
527
|
|
528
528
|
// Set up variables
|
529
529
|
$calc-key: flint-steal-key($i);
|
@@ -609,7 +609,7 @@
|
|
609
609
|
} @else {
|
610
610
|
|
611
611
|
// Apply individually if foundation is not set globally, but is set to true in config
|
612
|
-
@if flint-get-value("settings", "border-box-sizing") and $
|
612
|
+
@if flint-get-value("settings", "border-box-sizing") and $flint-foundation == "non-existent" {
|
613
613
|
@include _("foundation");
|
614
614
|
}
|
615
615
|
|
@@ -648,17 +648,17 @@
|
|
648
648
|
or flint-types-in-list($key, "number") and $span == "auto" {
|
649
649
|
|
650
650
|
// Emit erroring for invalid argument lengths
|
651
|
-
@if flint-types-in-list($key, "number") and length($key) != length($
|
652
|
-
@if not $
|
653
|
-
@error "Invalid argument length of #{length($key)} for span. Please provide an argument for each breakpoint in your config (#{length($
|
651
|
+
@if flint-types-in-list($key, "number") and length($key) != length($flint-all-keys) {
|
652
|
+
@if not $flint-development-mode {
|
653
|
+
@error "Invalid argument length of #{length($key)} for span. Please provide an argument for each breakpoint in your config (#{length($flint-all-keys)}). Your argument was: #{$key}";
|
654
654
|
}
|
655
|
-
} @else if flint-types-in-list($span, "number") and length($span) != length($
|
656
|
-
@if not $
|
657
|
-
@error "Invalid argument length of #{length($span)} for context. Please provide an argument for each breakpoint in your config (#{length($
|
655
|
+
} @else if flint-types-in-list($span, "number") and length($span) != length($flint-all-keys) {
|
656
|
+
@if not $flint-development-mode {
|
657
|
+
@error "Invalid argument length of #{length($span)} for context. Please provide an argument for each breakpoint in your config (#{length($flint-all-keys)}). Your argument was: #{$span}";
|
658
658
|
}
|
659
659
|
} @else {
|
660
660
|
|
661
|
-
@for $i from 1 through length($
|
661
|
+
@for $i from 1 through length($flint-all-keys) {
|
662
662
|
|
663
663
|
$calc-key: flint-steal-key($i);
|
664
664
|
$calc-span: $key;
|
@@ -714,7 +714,7 @@
|
|
714
714
|
}
|
715
715
|
|
716
716
|
} @else {
|
717
|
-
@if not $
|
717
|
+
@if not $flint-development-mode {
|
718
718
|
@error "Invalid gutter settings in config map: #{flint-get-value('settings', 'grid')}. Valid arguments: fluid, fixed";
|
719
719
|
}
|
720
720
|
}
|
@@ -735,7 +735,7 @@
|
|
735
735
|
|
736
736
|
// Throw error for invalid argument lengths
|
737
737
|
@if not flint-exists($flint, $key) {
|
738
|
-
@if not $
|
738
|
+
@if not $flint-development-mode {
|
739
739
|
@error "Invalid argument: #{$key}. Breakpoint does not exist. Please provide a valid argument.";
|
740
740
|
}
|
741
741
|
} @else {
|
@@ -794,7 +794,7 @@
|
|
794
794
|
}
|
795
795
|
|
796
796
|
} @else {
|
797
|
-
@if not $
|
797
|
+
@if not $flint-development-mode {
|
798
798
|
@error "Invalid gutter settings in config map: #{flint-get-value('settings', 'grid')}. Valid arguments: fluid, fixed";
|
799
799
|
}
|
800
800
|
}
|
@@ -833,7 +833,7 @@
|
|
833
833
|
}
|
834
834
|
}
|
835
835
|
} @else {
|
836
|
-
@if not $
|
836
|
+
@if not $flint-development-mode {
|
837
837
|
@error "Invalid gutter settings in config map: #{flint-get-value('settings', 'grid')}. Valid arguments: fluid, fixed";
|
838
838
|
}
|
839
839
|
}
|
@@ -852,7 +852,7 @@
|
|
852
852
|
@content;
|
853
853
|
}
|
854
854
|
} @else {
|
855
|
-
@if not $
|
855
|
+
@if not $flint-development-mode {
|
856
856
|
@error "Invalid gutter settings in config map: #{flint-get-value('settings', 'grid')}. Valid arguments: fluid, fixed";
|
857
857
|
}
|
858
858
|
}
|
@@ -871,7 +871,7 @@
|
|
871
871
|
@content;
|
872
872
|
}
|
873
873
|
} @else {
|
874
|
-
@if not $
|
874
|
+
@if not $flint-development-mode {
|
875
875
|
@error "Invalid gutter settings in config map: #{flint-get-value('settings', 'grid')}. Valid arguments: fluid, fixed";
|
876
876
|
}
|
877
877
|
}
|
@@ -887,7 +887,7 @@
|
|
887
887
|
}
|
888
888
|
// Throw error
|
889
889
|
} @else {
|
890
|
-
@if not $
|
890
|
+
@if not $flint-development-mode {
|
891
891
|
@error "Passed units [#{unit(nth($key, 2))}, #{unit(nth($key, 4))}] do not match the unit used in your config map: #{flint-get-config-unit()}";
|
892
892
|
}
|
893
893
|
}
|
@@ -906,7 +906,7 @@
|
|
906
906
|
@content;
|
907
907
|
}
|
908
908
|
} @else {
|
909
|
-
@if not $
|
909
|
+
@if not $flint-development-mode {
|
910
910
|
@error "Invalid gutter settings in config map: #{flint-get-value('settings', 'grid')}. Valid arguments: fluid, fixed";
|
911
911
|
}
|
912
912
|
}
|
@@ -921,7 +921,7 @@
|
|
921
921
|
@content;
|
922
922
|
}
|
923
923
|
} @else {
|
924
|
-
@if not $
|
924
|
+
@if not $flint-development-mode {
|
925
925
|
@error "Passed units [#{unit(nth($key, 3))}] do not match the unit used in your config map: #{flint-get-config-unit()}";
|
926
926
|
}
|
927
927
|
}
|
@@ -936,7 +936,7 @@
|
|
936
936
|
@content;
|
937
937
|
}
|
938
938
|
} @else {
|
939
|
-
@if not $
|
939
|
+
@if not $flint-development-mode {
|
940
940
|
@error "Passed units [#{unit(nth($key, 1))}] do not match the unit used in your config map: #{flint-get-config-unit()}";
|
941
941
|
}
|
942
942
|
}
|
@@ -955,7 +955,7 @@
|
|
955
955
|
@content;
|
956
956
|
}
|
957
957
|
} @else {
|
958
|
-
@if not $
|
958
|
+
@if not $flint-development-mode {
|
959
959
|
@error "Invalid gutter settings in config map: #{flint-get-value('settings', 'grid')}. Valid arguments: fluid, fixed";
|
960
960
|
}
|
961
961
|
}
|
@@ -970,7 +970,7 @@
|
|
970
970
|
@content;
|
971
971
|
}
|
972
972
|
} @else {
|
973
|
-
@if not $
|
973
|
+
@if not $flint-development-mode {
|
974
974
|
@error "Passed units [#{unit(nth($key, 3))}] do not match the unit used in your config map: #{flint-get-config-unit()}";
|
975
975
|
}
|
976
976
|
}
|
@@ -985,7 +985,7 @@
|
|
985
985
|
@content;
|
986
986
|
}
|
987
987
|
} @else {
|
988
|
-
@if not $
|
988
|
+
@if not $flint-development-mode {
|
989
989
|
@error "Passed units [#{unit(nth($key, 1))}] do not match the unit used in your config map: #{flint-get-config-unit()}";
|
990
990
|
}
|
991
991
|
}
|
@@ -1017,13 +1017,13 @@
|
|
1017
1017
|
$query: append($query, unquote('( min-width: #{flint-calc-breakpoint("alias", $calc-key, flint-get-index($calc-key))} ) and ( max-width: #{(flint-calc-breakpoint("prev", $calc-key, flint-get-index($calc-key)) - $unit)} )'), "comma");
|
1018
1018
|
}
|
1019
1019
|
} @else {
|
1020
|
-
@if not $
|
1020
|
+
@if not $flint-development-mode {
|
1021
1021
|
@error "Invalid gutter settings in config map: #{flint-get-value('settings', 'grid')}. Valid arguments: fluid, fixed";
|
1022
1022
|
}
|
1023
1023
|
}
|
1024
1024
|
} @else {
|
1025
1025
|
@if not $calc-key == "for" {
|
1026
|
-
@if not $
|
1026
|
+
@if not $flint-development-mode {
|
1027
1027
|
@error "Invalid argument: #{$calc-key}. Breakpoint does not exist. Please provide a valid argument.";
|
1028
1028
|
}
|
1029
1029
|
}
|
@@ -1040,7 +1040,7 @@
|
|
1040
1040
|
//
|
1041
1041
|
} @else {
|
1042
1042
|
@if $key != "clear" {
|
1043
|
-
@if not $
|
1043
|
+
@if not $flint-development-mode {
|
1044
1044
|
@error "Invalid argument(s). Please double check and provide a valid argument. If you're calling by alias, please provide a single span argument for your breakpoint. See documentation for additional details.";
|
1045
1045
|
}
|
1046
1046
|
}
|
@@ -14,7 +14,7 @@
|
|
14
14
|
/// @group Internal Mixins
|
15
15
|
///
|
16
16
|
@mixin flint-new-instance($calc-key, $calc-span, $calc-context, $calc-gutter, $output-width, $output-margin-right, $output-margin-left) {
|
17
|
-
$
|
17
|
+
$flint-instances:
|
18
18
|
flint-instance(
|
19
19
|
$calc-key,
|
20
20
|
$calc-span,
|
@@ -15,7 +15,7 @@
|
|
15
15
|
$selector: nth(&, 1);
|
16
16
|
// Append key to selector
|
17
17
|
$print-selector: "#{$selector}" + "::" + "#{$calc-key}";
|
18
|
-
@include flint-print-instance(map-get($
|
18
|
+
@include flint-print-instance(map-get($flint-instances, unquote($print-selector)));
|
19
19
|
}
|
20
20
|
}
|
21
21
|
|
data/tests/config.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require "../lib/flint.rb"
|
2
|
+
require "rubygems"
|
3
|
+
require "bundler"
|
4
4
|
|
5
5
|
# Require dependencies through bundler
|
6
6
|
Bundler.require(:default, :test) if defined?(Bundler)
|
@@ -24,29 +24,100 @@ sass_options = {
|
|
24
24
|
:unix_newlines => true
|
25
25
|
}
|
26
26
|
|
27
|
-
module
|
28
|
-
|
29
|
-
@@timeLast = Time.now
|
27
|
+
module Flint
|
28
|
+
class Profiler
|
30
29
|
|
31
|
-
|
32
|
-
|
33
|
-
|
30
|
+
@@t_then = Time.now
|
31
|
+
@@t_now = Time.now
|
32
|
+
|
33
|
+
def initialize(function, action, args = nil, env = nil)
|
34
|
+
@function = function
|
35
|
+
@action = action
|
36
|
+
@args = args
|
37
|
+
@env = env
|
38
|
+
profile
|
39
|
+
end
|
40
|
+
|
41
|
+
def get_time
|
42
|
+
@@t_now = Time.now
|
43
|
+
t = (@@t_now.to_f - @@t_then.to_f) * 1000.0
|
44
|
+
@@t_then = @@t_now
|
45
|
+
@@t_total = t
|
46
|
+
"\e[0;31m#{t.to_s}\e[0m".ljust(40)
|
47
|
+
end
|
48
|
+
|
49
|
+
def get_name
|
50
|
+
case
|
51
|
+
when @function.respond_to?(:name)
|
52
|
+
@function.name
|
53
|
+
else
|
54
|
+
nil
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def get_args
|
59
|
+
if @args.nil?
|
60
|
+
nil
|
61
|
+
else
|
62
|
+
@args.to_s[1...@args.length-2]
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def get_env
|
67
|
+
if @env
|
68
|
+
original_filename = @env.options.fetch(:original_filename, "unknown file")
|
69
|
+
filename = @env.options.fetch(:filename, "unknown file")
|
70
|
+
"\e[0;33m#{File.basename(original_filename)}:#{File.basename(filename)}\e[0m".ljust(80)
|
71
|
+
else
|
72
|
+
"\e[0;33munknown file\e[0m".ljust(80)
|
73
|
+
end
|
34
74
|
end
|
35
75
|
|
36
|
-
def
|
37
|
-
|
76
|
+
def get_action
|
77
|
+
"\e[0;32m#{@action.to_s}\e[0m".ljust(40)
|
38
78
|
end
|
39
79
|
|
40
|
-
def
|
41
|
-
|
42
|
-
@@timeLast = Time.now
|
43
|
-
return str
|
80
|
+
def get_caller
|
81
|
+
"\e[0;34m#{get_name}\e[0m(\e[0;30m#{get_args}\e[0m)"
|
44
82
|
end
|
83
|
+
|
84
|
+
# Black: \e[0;30m
|
85
|
+
# Red: \e[0;31m
|
86
|
+
# Green: \e[0;32m
|
87
|
+
# Yellow: \e[0;33m
|
88
|
+
# Blue: \e[0;34m
|
89
|
+
# Purple: \e[0;35m
|
90
|
+
# Cyan: \e[0;36m
|
91
|
+
# White: \e[0;37m
|
92
|
+
def profile
|
93
|
+
puts "#{get_env} | #{get_time} | #{get_action} | #{get_caller}"
|
94
|
+
# exit if @@t_total > 100 && @action == :execute
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
class Sass::Tree::Visitors::Perform
|
100
|
+
alias_method :visit_function_old, :visit_function
|
101
|
+
|
102
|
+
def visit_function(node)
|
103
|
+
Flint::Profiler.new node.dup, :create
|
104
|
+
visit_function_old node
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
class Sass::Script::Tree::Funcall
|
109
|
+
alias_method :perform_sass_fn_old, :perform_sass_fn
|
110
|
+
|
111
|
+
def perform_sass_fn(function, args, splat, environment)
|
112
|
+
Flint::Profiler.new function.dup, :execute, args.dup, environment.dup
|
113
|
+
perform_sass_fn_old function, args, splat, environment
|
114
|
+
end
|
45
115
|
end
|
46
116
|
|
47
117
|
class Sass::Tree::Visitors::Perform < Sass::Tree::Visitors::Base
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
118
|
+
|
119
|
+
# Removes all comments completely
|
120
|
+
def visit_comment(node)
|
121
|
+
return []
|
122
|
+
end
|
52
123
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
//
|
4
4
|
@include describe("[function] get-instance-value") {
|
5
5
|
|
6
|
-
// $
|
6
|
+
// $flint-instances: (
|
7
7
|
// ".instance::desktop": (
|
8
8
|
// "instance-count": 1,
|
9
9
|
// "parent-selector": none,
|
@@ -67,6 +67,6 @@
|
|
67
67
|
}
|
68
68
|
}
|
69
69
|
|
70
|
-
$
|
71
|
-
$
|
70
|
+
$flint-instances: () !global;
|
71
|
+
$flint-instance-count: 0 !global;
|
72
72
|
}
|
@@ -26,24 +26,24 @@
|
|
26
26
|
|
27
27
|
@at-root {
|
28
28
|
@include it("should expect instance map to match pseudo instance") {
|
29
|
-
@include should(expect(inspect($
|
29
|
+
@include should(expect(inspect($flint-instances)), to(be(inspect($pseudo-instance))));
|
30
30
|
}
|
31
31
|
}
|
32
32
|
|
33
|
-
$
|
34
|
-
$
|
33
|
+
$flint-instances: () !global;
|
34
|
+
$flint-instance-count: 0 !global;
|
35
35
|
|
36
|
-
$
|
36
|
+
$flint-instances: flint-instance("desktop", 4, null, null, 18.75em, 0.625em, 0.625em) !global;
|
37
37
|
|
38
38
|
@at-root {
|
39
39
|
@include it("should expect instance map to match pseudo instance") {
|
40
|
-
@include should(expect(inspect($
|
40
|
+
@include should(expect(inspect($flint-instances)), to(be(inspect($pseudo-instance))));
|
41
41
|
}
|
42
42
|
}
|
43
43
|
}
|
44
44
|
|
45
|
-
$
|
46
|
-
$
|
45
|
+
$flint-instances: () !global;
|
46
|
+
$flint-instance-count: 0 !global;
|
47
47
|
|
48
48
|
$pseudo-instance: (
|
49
49
|
".parent-instance .child-instance::mobile": (
|
@@ -176,12 +176,12 @@
|
|
176
176
|
|
177
177
|
@at-root {
|
178
178
|
@include it("should expect instance map to match pseudo instance map") {
|
179
|
-
@include should(expect(inspect($
|
179
|
+
@include should(expect(inspect($flint-instances)), to(be(inspect($pseudo-instance))));
|
180
180
|
}
|
181
181
|
}
|
182
182
|
}
|
183
183
|
}
|
184
184
|
|
185
|
-
$
|
186
|
-
$
|
185
|
+
$flint-instances: () !global;
|
186
|
+
$flint-instance-count: 0 !global;
|
187
187
|
}
|
data/tests/input/output.scss
CHANGED
@@ -42,10 +42,10 @@ $flint: (
|
|
42
42
|
) !global;
|
43
43
|
|
44
44
|
// Enable development mode
|
45
|
-
$
|
45
|
+
$flint-development-mode: true !global;
|
46
46
|
|
47
47
|
// Test speed improvements
|
48
|
-
// $
|
48
|
+
// $flint-use-ruby-functions: false !global;
|
49
49
|
|
50
50
|
///
|
51
51
|
/// BEGIN TESTS
|
@@ -58,7 +58,7 @@ $flint__development-mode: true !global;
|
|
58
58
|
///
|
59
59
|
|
60
60
|
@include it("should expect foundation to not be set") {
|
61
|
-
@include should(expect($
|
61
|
+
@include should(expect($flint-foundation),
|
62
62
|
to(be("non-existent"))
|
63
63
|
);
|
64
64
|
}
|
@@ -66,7 +66,7 @@ $flint__development-mode: true !global;
|
|
66
66
|
@include _("foundation");
|
67
67
|
|
68
68
|
@include it("should expect foundation to be set") {
|
69
|
-
@include should(expect($
|
69
|
+
@include should(expect($flint-foundation),
|
70
70
|
to(be("existent"))
|
71
71
|
);
|
72
72
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flint-gs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ezekiel Gabrielse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|