flint-gs 1.7.0 → 1.7.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +21 -21
- data/README.md +906 -906
- data/lib/flint.rb +77 -77
- data/stylesheets/_flint.scss +6 -6
- data/stylesheets/flint/config/_config.scss +83 -83
- data/stylesheets/flint/functions/_functions.scss +41 -41
- data/stylesheets/flint/functions/helpers/_helpers.scss +181 -187
- data/stylesheets/flint/functions/lib/_calc-breakpoint.scss +33 -33
- data/stylesheets/flint/functions/lib/_calc-margin.scss +57 -57
- data/stylesheets/flint/functions/lib/_calc-width.scss +50 -50
- data/stylesheets/flint/functions/lib/_exists.scss +22 -22
- data/stylesheets/flint/functions/lib/_fluid-width.scss +10 -10
- data/stylesheets/flint/functions/lib/_get-index.scss +13 -13
- data/stylesheets/flint/functions/lib/_get-instance-value.scss +17 -17
- data/stylesheets/flint/functions/lib/_get-value.scss +14 -14
- data/stylesheets/flint/functions/lib/_has-family-instance.scss +74 -74
- data/stylesheets/flint/functions/lib/_instance.scss +46 -46
- data/stylesheets/flint/functions/lib/_last.scss +9 -9
- data/stylesheets/flint/functions/lib/_list-to-string.scss +25 -25
- data/stylesheets/flint/functions/lib/_map-fetch.scss +30 -30
- data/stylesheets/flint/functions/lib/_next-index.scss +15 -15
- data/stylesheets/flint/functions/lib/_purge.scss +19 -19
- data/stylesheets/flint/functions/lib/_remove.scss +13 -13
- data/stylesheets/flint/functions/lib/_replace-substring.scss +34 -34
- data/stylesheets/flint/functions/lib/_replace.scss +25 -25
- data/stylesheets/flint/functions/lib/_steal-key.scss +13 -13
- data/stylesheets/flint/functions/lib/_steal-values.scss +14 -14
- data/stylesheets/flint/functions/lib/_string-to-list.scss +90 -90
- data/stylesheets/flint/functions/lib/_string-to-number.scss +77 -77
- data/stylesheets/flint/functions/lib/_support-syntax-bem.scss +31 -31
- data/stylesheets/flint/functions/lib/_support-syntax.scss +28 -28
- data/stylesheets/flint/functions/lib/_types-in-list.scss +119 -120
- data/stylesheets/flint/functions/lib/_use-syntax.scss +14 -14
- data/stylesheets/flint/globals/_globals.scss +38 -38
- data/stylesheets/flint/mixins/_mixins.scss +7 -7
- data/stylesheets/flint/mixins/lib/_calculate.scss +571 -571
- data/stylesheets/flint/mixins/lib/_clearfix.scss +19 -19
- data/stylesheets/flint/mixins/lib/_main.scss +935 -935
- data/stylesheets/flint/mixins/lib/_new-instance.scss +27 -27
- data/stylesheets/flint/mixins/lib/_print-instance.scss +42 -42
- metadata +22 -16
- checksums.yaml +0 -7
data/lib/flint.rb
CHANGED
@@ -1,77 +1,77 @@
|
|
1
|
-
require 'compass'
|
2
|
-
|
3
|
-
extension_path = File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
4
|
-
Compass::Frameworks.register('flint', :path => extension_path)
|
5
|
-
|
6
|
-
# Date is in the form of YYYY-MM-DD
|
7
|
-
module Flint
|
8
|
-
|
9
|
-
|
10
|
-
end
|
11
|
-
|
12
|
-
# Custom functions
|
13
|
-
module Sass::Script::Functions
|
14
|
-
|
15
|
-
# Use ruby functions
|
16
|
-
# ----
|
17
|
-
def flint_use_ruby()
|
18
|
-
Sass::Script::Bool.new(true)
|
19
|
-
end
|
20
|
-
|
21
|
-
# Returns stringified selector
|
22
|
-
# ----
|
23
|
-
# @return [string]
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
# Turns string into a flat list
|
29
|
-
# ----
|
30
|
-
# @param string [string] : string
|
31
|
-
# @param separator [string] : item to find which separates substrings
|
32
|
-
# @param ignore [string] : removes remaining string beyond item
|
33
|
-
# ----
|
34
|
-
# @return [list] | error
|
35
|
-
def string_to_list(string, separator, ignore)
|
36
|
-
# Remove rest of string after ignore
|
37
|
-
ignore = string.value[/[^#{ignore}]+/]
|
38
|
-
# Get first set of strings, convert to array by separator
|
39
|
-
items = ignore.split(separator.value)
|
40
|
-
# Convert array to list
|
41
|
-
if items.count == 1
|
42
|
-
Sass::Script::String.new(items[0], :comma)
|
43
|
-
else
|
44
|
-
Sass::Script::List.new(items.map { |i| Sass::Script::String.new(i) }, :comma)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
# Replace substring
|
49
|
-
# ----
|
50
|
-
# @param string [string] : string that contains substring
|
51
|
-
# @param find [string] : substring to replace
|
52
|
-
# @param replace [string] : new string to replace sub with
|
53
|
-
# ----
|
54
|
-
# @return [string]
|
55
|
-
def replace_substring(string, find, replace)
|
56
|
-
# Assert types
|
57
|
-
assert_type string, :String
|
58
|
-
assert_type find, :String
|
59
|
-
assert_type replace, :String
|
60
|
-
# Return new string
|
61
|
-
Sass::Script::String.new(string.value.gsub(find.value, replace.value))
|
62
|
-
end
|
63
|
-
|
64
|
-
# Converts string to number
|
65
|
-
# ----
|
66
|
-
# @param string [string] : string
|
67
|
-
# ----
|
68
|
-
# @return [number]
|
69
|
-
def string_to_number(string)
|
70
|
-
Sass::Script::Number.new(string.value.to_i)
|
71
|
-
end
|
72
|
-
|
73
|
-
declare :string_to_list, [:string, :separator, :ignore]
|
74
|
-
declare :replace_substring, [:string, :find, :replace]
|
75
|
-
declare :string_to_number, [:string]
|
76
|
-
|
77
|
-
end
|
1
|
+
require 'compass'
|
2
|
+
|
3
|
+
extension_path = File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
4
|
+
Compass::Frameworks.register('flint', :path => extension_path)
|
5
|
+
|
6
|
+
# Date is in the form of YYYY-MM-DD
|
7
|
+
module Flint
|
8
|
+
VERSION = "1.7.1"
|
9
|
+
DATE = "2014-07-12"
|
10
|
+
end
|
11
|
+
|
12
|
+
# Custom functions
|
13
|
+
module Sass::Script::Functions
|
14
|
+
|
15
|
+
# Use ruby functions
|
16
|
+
# ----
|
17
|
+
def flint_use_ruby()
|
18
|
+
Sass::Script::Bool.new(true)
|
19
|
+
end
|
20
|
+
|
21
|
+
# Returns stringified selector
|
22
|
+
# ----
|
23
|
+
# @return [string]
|
24
|
+
def selector_string()
|
25
|
+
Sass::Script::String.new(environment.selector.to_s)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Turns string into a flat list
|
29
|
+
# ----
|
30
|
+
# @param string [string] : string
|
31
|
+
# @param separator [string] : item to find which separates substrings
|
32
|
+
# @param ignore [string] : removes remaining string beyond item
|
33
|
+
# ----
|
34
|
+
# @return [list] | error
|
35
|
+
def string_to_list(string, separator, ignore)
|
36
|
+
# Remove rest of string after ignore
|
37
|
+
ignore = string.value[/[^#{ignore}]+/]
|
38
|
+
# Get first set of strings, convert to array by separator
|
39
|
+
items = ignore.split(separator.value)
|
40
|
+
# Convert array to list
|
41
|
+
if items.count == 1
|
42
|
+
Sass::Script::String.new(items[0], :comma)
|
43
|
+
else
|
44
|
+
Sass::Script::List.new(items.map { |i| Sass::Script::String.new(i) }, :comma)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# Replace substring
|
49
|
+
# ----
|
50
|
+
# @param string [string] : string that contains substring
|
51
|
+
# @param find [string] : substring to replace
|
52
|
+
# @param replace [string] : new string to replace sub with
|
53
|
+
# ----
|
54
|
+
# @return [string]
|
55
|
+
def replace_substring(string, find, replace)
|
56
|
+
# Assert types
|
57
|
+
assert_type string, :String
|
58
|
+
assert_type find, :String
|
59
|
+
assert_type replace, :String
|
60
|
+
# Return new string
|
61
|
+
Sass::Script::String.new(string.value.gsub(find.value, replace.value))
|
62
|
+
end
|
63
|
+
|
64
|
+
# Converts string to number
|
65
|
+
# ----
|
66
|
+
# @param string [string] : string
|
67
|
+
# ----
|
68
|
+
# @return [number]
|
69
|
+
def string_to_number(string)
|
70
|
+
Sass::Script::Number.new(string.value.to_i)
|
71
|
+
end
|
72
|
+
|
73
|
+
declare :string_to_list, [:string, :separator, :ignore]
|
74
|
+
declare :replace_substring, [:string, :find, :replace]
|
75
|
+
declare :string_to_number, [:string]
|
76
|
+
|
77
|
+
end
|
data/stylesheets/_flint.scss
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
// Flint
|
2
|
-
// ----
|
3
|
-
@import "flint/config/config";
|
4
|
-
@import "flint/functions/functions";
|
5
|
-
@import "flint/globals/globals";
|
6
|
-
@import "flint/mixins/mixins";
|
1
|
+
// Flint
|
2
|
+
// ----
|
3
|
+
@import "flint/config/config";
|
4
|
+
@import "flint/functions/functions";
|
5
|
+
@import "flint/globals/globals";
|
6
|
+
@import "flint/mixins/mixins";
|
@@ -1,83 +1,83 @@
|
|
1
|
-
// Configuration map
|
2
|
-
// -------------------------------------------------------------------------------
|
3
|
-
// @param breakpoint [map] : Here you can set up your various breakpoints for your
|
4
|
-
// project. Any number of breakpoints is acceptable. You must include a column
|
5
|
-
// count and breakpoint value for each listed breakpoint. The order does have
|
6
|
-
// to follow a `DESC` order. Unit (px | em) chosen here must be used consistently
|
7
|
-
// throughout the rest of the config map.
|
8
|
-
// -------------------------------------------------------------------------------
|
9
|
-
// @param default [string] : alias of breakpoint that is your grid default
|
10
|
-
// @param grid [string] : style of grid
|
11
|
-
// @param gutter [number | false] : contextual size of gutter
|
12
|
-
// @param float-style [number | false] : float direction
|
13
|
-
// @param max-width [number | bool] : max-width for containers
|
14
|
-
// @param center-container [bool] : if you want a centered container
|
15
|
-
// @param border-box-sizing [bool] : if you want box-sizing: border-box applied
|
16
|
-
// @param support-syntax [string | false] : syntax to support
|
17
|
-
// @param debug-mode [bool] : ouputs debug properties
|
18
|
-
// -------------------------------------------------------------------------------
|
19
|
-
|
20
|
-
$flint: (
|
21
|
-
|
22
|
-
// Grid configuration
|
23
|
-
"config": (
|
24
|
-
|
25
|
-
// Define breakpoints [any amount of breakpoints]
|
26
|
-
// Any alias you like, minus reserved Flint words [i.e. "settings", "config", etc.]
|
27
|
-
"desktop": (
|
28
|
-
|
29
|
-
// Options: 0-infinity
|
30
|
-
"columns": 16,
|
31
|
-
|
32
|
-
// Options: number[unit]
|
33
|
-
"breakpoint": 80em,
|
34
|
-
),
|
35
|
-
|
36
|
-
// Same applies for other breakpoints
|
37
|
-
// ----
|
38
|
-
// Remember, you're not fixed to just 4 breakpoints like we have here
|
39
|
-
"laptop": (
|
40
|
-
"columns": 12,
|
41
|
-
"breakpoint": 60em,
|
42
|
-
),
|
43
|
-
"tablet": (
|
44
|
-
"columns": 8,
|
45
|
-
"breakpoint": 40em,
|
46
|
-
),
|
47
|
-
"mobile": (
|
48
|
-
"columns": 4,
|
49
|
-
"breakpoint": 20em,
|
50
|
-
),
|
51
|
-
|
52
|
-
// Additional grid settings [required]
|
53
|
-
"settings": (
|
54
|
-
|
55
|
-
// Any breakpoint's alias
|
56
|
-
"default": "mobile",
|
57
|
-
|
58
|
-
// Options: fluid | fixed
|
59
|
-
"grid": "fluid",
|
60
|
-
|
61
|
-
// Options: number[unit]
|
62
|
-
"gutter": 0.625em,
|
63
|
-
|
64
|
-
// Options: left | right
|
65
|
-
"float-style": "left",
|
66
|
-
|
67
|
-
// Options: true [uses highest breakpoint] | false | number[unit]
|
68
|
-
"max-width": true,
|
69
|
-
|
70
|
-
// Options: true | false
|
71
|
-
"center-container": true,
|
72
|
-
|
73
|
-
// Options: true | false
|
74
|
-
"border-box-sizing": true,
|
75
|
-
|
76
|
-
// Syntax support: string | false
|
77
|
-
"support-syntax": false,
|
78
|
-
|
79
|
-
// Options: true | false
|
80
|
-
"debug-mode":
|
81
|
-
)
|
82
|
-
)
|
83
|
-
) !default;
|
1
|
+
// Configuration map
|
2
|
+
// -------------------------------------------------------------------------------
|
3
|
+
// @param breakpoint [map] : Here you can set up your various breakpoints for your
|
4
|
+
// project. Any number of breakpoints is acceptable. You must include a column
|
5
|
+
// count and breakpoint value for each listed breakpoint. The order does have
|
6
|
+
// to follow a `DESC` order. Unit (px | em) chosen here must be used consistently
|
7
|
+
// throughout the rest of the config map.
|
8
|
+
// -------------------------------------------------------------------------------
|
9
|
+
// @param default [string] : alias of breakpoint that is your grid default
|
10
|
+
// @param grid [string] : style of grid
|
11
|
+
// @param gutter [number | false] : contextual size of gutter
|
12
|
+
// @param float-style [number | false] : float direction
|
13
|
+
// @param max-width [number | bool] : max-width for containers
|
14
|
+
// @param center-container [bool] : if you want a centered container
|
15
|
+
// @param border-box-sizing [bool] : if you want box-sizing: border-box applied
|
16
|
+
// @param support-syntax [string | false] : syntax to support
|
17
|
+
// @param debug-mode [bool] : ouputs debug properties
|
18
|
+
// -------------------------------------------------------------------------------
|
19
|
+
|
20
|
+
$flint: (
|
21
|
+
|
22
|
+
// Grid configuration
|
23
|
+
"config": (
|
24
|
+
|
25
|
+
// Define breakpoints [any amount of breakpoints]
|
26
|
+
// Any alias you like, minus reserved Flint words [i.e. "settings", "config", etc.]
|
27
|
+
"desktop": (
|
28
|
+
|
29
|
+
// Options: 0-infinity
|
30
|
+
"columns": 16,
|
31
|
+
|
32
|
+
// Options: number[unit]
|
33
|
+
"breakpoint": 80em,
|
34
|
+
),
|
35
|
+
|
36
|
+
// Same applies for other breakpoints
|
37
|
+
// ----
|
38
|
+
// Remember, you're not fixed to just 4 breakpoints like we have here
|
39
|
+
"laptop": (
|
40
|
+
"columns": 12,
|
41
|
+
"breakpoint": 60em,
|
42
|
+
),
|
43
|
+
"tablet": (
|
44
|
+
"columns": 8,
|
45
|
+
"breakpoint": 40em,
|
46
|
+
),
|
47
|
+
"mobile": (
|
48
|
+
"columns": 4,
|
49
|
+
"breakpoint": 20em,
|
50
|
+
),
|
51
|
+
|
52
|
+
// Additional grid settings [required]
|
53
|
+
"settings": (
|
54
|
+
|
55
|
+
// Any breakpoint's alias
|
56
|
+
"default": "mobile",
|
57
|
+
|
58
|
+
// Options: fluid | fixed
|
59
|
+
"grid": "fluid",
|
60
|
+
|
61
|
+
// Options: number[unit]
|
62
|
+
"gutter": 0.625em,
|
63
|
+
|
64
|
+
// Options: left | right
|
65
|
+
"float-style": "left",
|
66
|
+
|
67
|
+
// Options: true [uses highest breakpoint] | false | number[unit]
|
68
|
+
"max-width": true,
|
69
|
+
|
70
|
+
// Options: true | false
|
71
|
+
"center-container": true,
|
72
|
+
|
73
|
+
// Options: true | false
|
74
|
+
"border-box-sizing": true,
|
75
|
+
|
76
|
+
// Syntax support: string | false
|
77
|
+
"support-syntax": false,
|
78
|
+
|
79
|
+
// Options: true | false
|
80
|
+
"debug-mode": false,
|
81
|
+
)
|
82
|
+
)
|
83
|
+
) !default;
|
@@ -1,41 +1,41 @@
|
|
1
|
-
// Helpers
|
2
|
-
// ----
|
3
|
-
@import "helpers/helpers";
|
4
|
-
|
5
|
-
// Functions
|
6
|
-
// ----
|
7
|
-
@import "lib/exists";
|
8
|
-
// Getters
|
9
|
-
@import "lib/map-fetch";
|
10
|
-
@import "lib/get-value";
|
11
|
-
@import "lib/get-index";
|
12
|
-
@import "lib/steal-key";
|
13
|
-
@import "lib/steal-values";
|
14
|
-
// Calculations
|
15
|
-
@import "lib/fluid-width";
|
16
|
-
@import "lib/calc-width";
|
17
|
-
@import "lib/calc-margin";
|
18
|
-
@import "lib/calc-breakpoint";
|
19
|
-
// Instance functions
|
20
|
-
@import "lib/instance";
|
21
|
-
@import "lib/has-family-instance";
|
22
|
-
@import "lib/get-instance-value";
|
23
|
-
// List functions
|
24
|
-
@import "lib/list-to-string";
|
25
|
-
@import "lib/types-in-list";
|
26
|
-
@import "lib/next-index";
|
27
|
-
@import "lib/purge";
|
28
|
-
@import "lib/replace";
|
29
|
-
@import "lib/remove";
|
30
|
-
@import "lib/last";
|
31
|
-
// String functions
|
32
|
-
@import "lib/replace-substring";
|
33
|
-
@import "lib/string-to-number";
|
34
|
-
@import "lib/string-to-list";
|
35
|
-
|
36
|
-
// Support syntax
|
37
|
-
// ---
|
38
|
-
@import "lib/use-syntax";
|
39
|
-
@import "lib/support-syntax";
|
40
|
-
// Syntaxes
|
41
|
-
@import "lib/support-syntax-bem"
|
1
|
+
// Helpers
|
2
|
+
// ----
|
3
|
+
@import "helpers/helpers";
|
4
|
+
|
5
|
+
// Functions
|
6
|
+
// ----
|
7
|
+
@import "lib/exists";
|
8
|
+
// Getters
|
9
|
+
@import "lib/map-fetch";
|
10
|
+
@import "lib/get-value";
|
11
|
+
@import "lib/get-index";
|
12
|
+
@import "lib/steal-key";
|
13
|
+
@import "lib/steal-values";
|
14
|
+
// Calculations
|
15
|
+
@import "lib/fluid-width";
|
16
|
+
@import "lib/calc-width";
|
17
|
+
@import "lib/calc-margin";
|
18
|
+
@import "lib/calc-breakpoint";
|
19
|
+
// Instance functions
|
20
|
+
@import "lib/instance";
|
21
|
+
@import "lib/has-family-instance";
|
22
|
+
@import "lib/get-instance-value";
|
23
|
+
// List functions
|
24
|
+
@import "lib/list-to-string";
|
25
|
+
@import "lib/types-in-list";
|
26
|
+
@import "lib/next-index";
|
27
|
+
@import "lib/purge";
|
28
|
+
@import "lib/replace";
|
29
|
+
@import "lib/remove";
|
30
|
+
@import "lib/last";
|
31
|
+
// String functions
|
32
|
+
@import "lib/replace-substring";
|
33
|
+
@import "lib/string-to-number";
|
34
|
+
@import "lib/string-to-list";
|
35
|
+
|
36
|
+
// Support syntax
|
37
|
+
// ---
|
38
|
+
@import "lib/use-syntax";
|
39
|
+
@import "lib/support-syntax";
|
40
|
+
// Syntaxes
|
41
|
+
@import "lib/support-syntax-bem"
|
@@ -1,187 +1,181 @@
|
|
1
|
-
// Returns truthiness of a value
|
2
|
-
// -------------------------------------------------------------------------------
|
3
|
-
// @param $value [literal] : value
|
4
|
-
// -------------------------------------------------------------------------------
|
5
|
-
// @return [bool]
|
6
|
-
|
7
|
-
@function flint-is-true($value) {
|
8
|
-
@return if($value == null, false, $value and $value != null and $value != "" and $value != ());
|
9
|
-
}
|
10
|
-
|
11
|
-
// Checks if item is map
|
12
|
-
//--------------------------------------------------------------------------------
|
13
|
-
// @param $n [map] : value
|
14
|
-
// -------------------------------------------------------------------------------
|
15
|
-
// @return [bool]
|
16
|
-
|
17
|
-
@function flint-is-map($n) {
|
18
|
-
@return type-of($n) == "map";
|
19
|
-
}
|
20
|
-
|
21
|
-
// Checks if item is list
|
22
|
-
//--------------------------------------------------------------------------------
|
23
|
-
// @param $n [list] : value
|
24
|
-
// -------------------------------------------------------------------------------
|
25
|
-
// @return [bool]
|
26
|
-
|
27
|
-
@function flint-is-list($n) {
|
28
|
-
@return type-of($n) == "list";
|
29
|
-
}
|
30
|
-
|
31
|
-
// Checks if item is number
|
32
|
-
//--------------------------------------------------------------------------------
|
33
|
-
// @param $n [number] : value
|
34
|
-
// -------------------------------------------------------------------------------
|
35
|
-
// @return [bool]
|
36
|
-
|
37
|
-
@function flint-is-number($n) {
|
38
|
-
@return type-of($n) == "number";
|
39
|
-
}
|
40
|
-
|
41
|
-
// Checks if item is string
|
42
|
-
//--------------------------------------------------------------------------------
|
43
|
-
// @param $n [string] : value
|
44
|
-
// -------------------------------------------------------------------------------
|
45
|
-
// @return [bool]
|
46
|
-
|
47
|
-
@function flint-is-string($n) {
|
48
|
-
@return type-of($n) == "string";
|
49
|
-
}
|
50
|
-
|
51
|
-
// Checks if item is not string
|
52
|
-
//--------------------------------------------------------------------------------
|
53
|
-
// @param $n [string] : value
|
54
|
-
// -------------------------------------------------------------------------------
|
55
|
-
// @return [bool]
|
56
|
-
|
57
|
-
@function flint-is-not-string($n) {
|
58
|
-
@return type-of($n) != "string";
|
59
|
-
}
|
60
|
-
|
61
|
-
// Gets list of each breakpoint's key
|
62
|
-
// -------------------------------------------------------------------------------
|
63
|
-
// @return [list]
|
64
|
-
|
65
|
-
@function flint-get-all-keys() {
|
66
|
-
$all-keys: ();
|
67
|
-
|
68
|
-
@for $i from 1 through (length(flint-map-fetch($flint, "config")) - 1) {
|
69
|
-
$key: flint-steal-key($i);
|
70
|
-
$all-keys: append($all-keys, $key, "comma");
|
71
|
-
}
|
72
|
-
|
73
|
-
@return $all-keys;
|
74
|
-
}
|
75
|
-
|
76
|
-
// Gets list of all breakpoints
|
77
|
-
// -------------------------------------------------------------------------------
|
78
|
-
// @return [list]
|
79
|
-
|
80
|
-
@function flint-get-all-breakpoints() {
|
81
|
-
$all-breakpoints: ();
|
82
|
-
|
83
|
-
@each $map, $keys in map-get($flint, "config") {
|
84
|
-
@each $key, $value in $keys {
|
85
|
-
@if $key == "breakpoint" {
|
86
|
-
$all-breakpoints: append($all-breakpoints, $value, "comma");
|
87
|
-
}
|
88
|
-
}
|
89
|
-
}
|
90
|
-
|
91
|
-
@return $all-breakpoints;
|
92
|
-
}
|
93
|
-
|
94
|
-
// Checks if passed $key is the highest breakpoint
|
95
|
-
// -------------------------------------------------------------------------------
|
96
|
-
// @
|
97
|
-
// -------------------------------------------------------------------------------
|
98
|
-
// @
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
@
|
103
|
-
@
|
104
|
-
@return
|
105
|
-
}
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
//
|
111
|
-
// -------------------------------------------------------------------------------
|
112
|
-
// @
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
@
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
//
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
//
|
163
|
-
|
164
|
-
@
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
//
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
//
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
// -------------------------------------------------------------------------------
|
183
|
-
// @return [bool]
|
184
|
-
|
185
|
-
@function flint-use-ruby-functions() {
|
186
|
-
@return flint_use_ruby() == true;
|
187
|
-
}
|
1
|
+
// Returns truthiness of a value
|
2
|
+
// -------------------------------------------------------------------------------
|
3
|
+
// @param $value [literal] : value
|
4
|
+
// -------------------------------------------------------------------------------
|
5
|
+
// @return [bool]
|
6
|
+
|
7
|
+
@function flint-is-true($value) {
|
8
|
+
@return if($value == null, false, $value and $value != null and $value != "" and $value != ());
|
9
|
+
}
|
10
|
+
|
11
|
+
// Checks if item is map
|
12
|
+
//--------------------------------------------------------------------------------
|
13
|
+
// @param $n [map] : value
|
14
|
+
// -------------------------------------------------------------------------------
|
15
|
+
// @return [bool]
|
16
|
+
|
17
|
+
@function flint-is-map($n) {
|
18
|
+
@return type-of($n) == "map";
|
19
|
+
}
|
20
|
+
|
21
|
+
// Checks if item is list
|
22
|
+
//--------------------------------------------------------------------------------
|
23
|
+
// @param $n [list] : value
|
24
|
+
// -------------------------------------------------------------------------------
|
25
|
+
// @return [bool]
|
26
|
+
|
27
|
+
@function flint-is-list($n) {
|
28
|
+
@return type-of($n) == "list";
|
29
|
+
}
|
30
|
+
|
31
|
+
// Checks if item is number
|
32
|
+
//--------------------------------------------------------------------------------
|
33
|
+
// @param $n [number] : value
|
34
|
+
// -------------------------------------------------------------------------------
|
35
|
+
// @return [bool]
|
36
|
+
|
37
|
+
@function flint-is-number($n) {
|
38
|
+
@return type-of($n) == "number";
|
39
|
+
}
|
40
|
+
|
41
|
+
// Checks if item is string
|
42
|
+
//--------------------------------------------------------------------------------
|
43
|
+
// @param $n [string] : value
|
44
|
+
// -------------------------------------------------------------------------------
|
45
|
+
// @return [bool]
|
46
|
+
|
47
|
+
@function flint-is-string($n) {
|
48
|
+
@return type-of($n) == "string";
|
49
|
+
}
|
50
|
+
|
51
|
+
// Checks if item is not string
|
52
|
+
//--------------------------------------------------------------------------------
|
53
|
+
// @param $n [string] : value
|
54
|
+
// -------------------------------------------------------------------------------
|
55
|
+
// @return [bool]
|
56
|
+
|
57
|
+
@function flint-is-not-string($n) {
|
58
|
+
@return type-of($n) != "string";
|
59
|
+
}
|
60
|
+
|
61
|
+
// Gets list of each breakpoint's key
|
62
|
+
// -------------------------------------------------------------------------------
|
63
|
+
// @return [list]
|
64
|
+
|
65
|
+
@function flint-get-all-keys() {
|
66
|
+
$all-keys: ();
|
67
|
+
|
68
|
+
@for $i from 1 through (length(flint-map-fetch($flint, "config")) - 1) {
|
69
|
+
$key: flint-steal-key($i);
|
70
|
+
$all-keys: append($all-keys, $key, "comma");
|
71
|
+
}
|
72
|
+
|
73
|
+
@return $all-keys;
|
74
|
+
}
|
75
|
+
|
76
|
+
// Gets list of all breakpoints
|
77
|
+
// -------------------------------------------------------------------------------
|
78
|
+
// @return [list]
|
79
|
+
|
80
|
+
@function flint-get-all-breakpoints() {
|
81
|
+
$all-breakpoints: ();
|
82
|
+
|
83
|
+
@each $map, $keys in map-get($flint, "config") {
|
84
|
+
@each $key, $value in $keys {
|
85
|
+
@if $key == "breakpoint" {
|
86
|
+
$all-breakpoints: append($all-breakpoints, $value, "comma");
|
87
|
+
}
|
88
|
+
}
|
89
|
+
}
|
90
|
+
|
91
|
+
@return $all-breakpoints;
|
92
|
+
}
|
93
|
+
|
94
|
+
// Checks if passed $key is the highest breakpoint
|
95
|
+
// -------------------------------------------------------------------------------
|
96
|
+
// @param $key [string] : alias of breakpoint
|
97
|
+
// -------------------------------------------------------------------------------
|
98
|
+
// @return [bool]
|
99
|
+
|
100
|
+
@function flint-is-highest-breakpoint($key) {
|
101
|
+
@if flint-get-value($key, "breakpoint") == max(flint-get-all-breakpoints()...) {
|
102
|
+
@return true;
|
103
|
+
} @else {
|
104
|
+
@return false;
|
105
|
+
}
|
106
|
+
}
|
107
|
+
|
108
|
+
// Checks if passed $key is the lowest breakpoint
|
109
|
+
// -------------------------------------------------------------------------------
|
110
|
+
// @param $key [string] : alias of breakpoint
|
111
|
+
// -------------------------------------------------------------------------------
|
112
|
+
// @return [bool]
|
113
|
+
|
114
|
+
@function flint-is-lowest-breakpoint($key) {
|
115
|
+
@if flint-get-value($key, "breakpoint") == min(flint-get-all-breakpoints()...) {
|
116
|
+
@return true;
|
117
|
+
} @else {
|
118
|
+
@return false;
|
119
|
+
}
|
120
|
+
}
|
121
|
+
|
122
|
+
// Checks if $key is grid default
|
123
|
+
// -------------------------------------------------------------------------------
|
124
|
+
// @param $key [string] : alias of breakpoint
|
125
|
+
// -------------------------------------------------------------------------------
|
126
|
+
// @return [bool]
|
127
|
+
|
128
|
+
@function flint-is-default($key) {
|
129
|
+
@if $key == flint-get-value("settings", "default") {
|
130
|
+
@return true;
|
131
|
+
} @else {
|
132
|
+
@return false;
|
133
|
+
}
|
134
|
+
}
|
135
|
+
|
136
|
+
// Gets all breakpoint column values
|
137
|
+
// -------------------------------------------------------------------------------
|
138
|
+
// @return [list]
|
139
|
+
|
140
|
+
@function flint-get-all-columns() {
|
141
|
+
$all-columns: ();
|
142
|
+
|
143
|
+
@each $map, $keys in map-get($flint, "config") {
|
144
|
+
@each $key, $value in $keys {
|
145
|
+
@if $key == "columns" {
|
146
|
+
$all-columns: append($all-columns, $value, "comma");
|
147
|
+
}
|
148
|
+
}
|
149
|
+
}
|
150
|
+
|
151
|
+
@return $all-columns;
|
152
|
+
}
|
153
|
+
|
154
|
+
// Returns the unit used in config
|
155
|
+
// -------------------------------------------------------------------------------
|
156
|
+
// @return [literal]
|
157
|
+
|
158
|
+
@function flint-get-config-unit() {
|
159
|
+
@return unit(flint-get-value("settings", "gutter"));
|
160
|
+
}
|
161
|
+
|
162
|
+
// Convert pixel value to em
|
163
|
+
// -------------------------------------------------------------------------------
|
164
|
+
// @param $target [number] : pixel value
|
165
|
+
// @param $context [number] : context to divide by
|
166
|
+
// -------------------------------------------------------------------------------
|
167
|
+
// @return : em value of $target relative to $context
|
168
|
+
// -------------------------------------------------------------------------------
|
169
|
+
|
170
|
+
@function flint-to-em($target, $context: $flint__base-font-size) {
|
171
|
+
@return ($target / $context) * 1em;
|
172
|
+
}
|
173
|
+
|
174
|
+
// Use Ruby functions in place of Sass functions where possible
|
175
|
+
// to speed up performance, especially with string functions
|
176
|
+
// -------------------------------------------------------------------------------
|
177
|
+
// @return [bool]
|
178
|
+
|
179
|
+
@function flint-use-ruby-functions() {
|
180
|
+
@return flint_use_ruby() == true;
|
181
|
+
}
|