scss_beautifier 0.1.11 → 0.1.12
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/Gemfile.lock +1 -1
- data/data/default_config.yml +3 -2
- data/lib/scss_beautifier/cli.rb +1 -1
- data/lib/scss_beautifier/config.rb +9 -4
- data/lib/scss_beautifier/formatters/base.rb +12 -0
- data/lib/scss_beautifier/formatters/border_zero.rb +1 -1
- data/lib/scss_beautifier/formatters/color.rb +1 -1
- data/lib/scss_beautifier/formatters/debug.rb +1 -1
- data/lib/scss_beautifier/formatters/declaration_order.rb +25 -6
- data/lib/scss_beautifier/formatters/empty_rule.rb +1 -1
- data/lib/scss_beautifier/formatters/leading_zero.rb +1 -1
- data/lib/scss_beautifier/formatters/name_format.rb +1 -1
- data/lib/scss_beautifier/formatters/property_sort_order.rb +19 -10
- data/lib/scss_beautifier/formatters/pseudo_element.rb +1 -1
- data/lib/scss_beautifier/formatters/qualifying_element.rb +1 -1
- data/lib/scss_beautifier/formatters/selector.rb +1 -1
- data/lib/scss_beautifier/formatters/shorthand.rb +1 -1
- data/lib/scss_beautifier/formatters/silent_comment.rb +18 -0
- data/lib/scss_beautifier/formatters/string_quotes.rb +1 -1
- data/lib/scss_beautifier/formatters/trailing_zero.rb +1 -1
- data/lib/scss_beautifier/version.rb +1 -1
- data/lib/scss_beautifier.rb +4 -4
- metadata +4 -26
- data/lib/scss_beautifier/formatters/bang_format.rb +0 -21
- data/lib/scss_beautifier/formatters/comment.rb +0 -17
- data/tmp/bang.scss +0 -3
- data/tmp/border0.scss +0 -3
- data/tmp/colorkeyword.scss +0 -3
- data/tmp/colorshort.scss +0 -3
- data/tmp/comments.scss +0 -5
- data/tmp/debug.scss +0 -4
- data/tmp/declarationorder.scss +0 -31
- data/tmp/elseplacement.scss +0 -18
- data/tmp/empty.scss +0 -3
- data/tmp/leadingzero.scss +0 -17
- data/tmp/nameformat.scss +0 -30
- data/tmp/pm.scss +0 -228
- data/tmp/pm2.scss +0 -235
- data/tmp/propertysortorder.scss +0 -19
- data/tmp/pseudoelement.scss +0 -13
- data/tmp/qualifyingelement.scss +0 -23
- data/tmp/selectors.scss +0 -3
- data/tmp/shorthand.scss +0 -16
- data/tmp/string_quotes.scss +0 -12
- data/tmp/test.scss +0 -1
- data/tmp/test2.scss +0 -35
- data/tmp/trailing_zero.scss +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4cacdeb9773edcced21114f451a09f6fdf1ab2f8
|
4
|
+
data.tar.gz: cc990881332e43b2baec78ea1720307580b7c548
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf0ff93b2fb26f9cd1fbd514365a95f5adba47d491184575b453c433db315e01abb4d1c59774a55275b9b2611bf7eb8826a461c5131dcf7a90124a8f5f5f0cfc
|
7
|
+
data.tar.gz: 51742b30410e53e91c09d0893b78fe9958cb6146f6e8f74ce4e735dac1eeb2f4baaf101f171d6dd3cc289fd20518899a18afb25c178d758b5038e76f4883fad1
|
data/Gemfile.lock
CHANGED
data/data/default_config.yml
CHANGED
@@ -4,7 +4,7 @@ formatters:
|
|
4
4
|
border_zero:
|
5
5
|
enabled: true
|
6
6
|
|
7
|
-
|
7
|
+
silent_comment:
|
8
8
|
enabled: true
|
9
9
|
|
10
10
|
color:
|
@@ -20,7 +20,8 @@ formatters:
|
|
20
20
|
enabled: true
|
21
21
|
|
22
22
|
declaration_order:
|
23
|
-
enabled:
|
23
|
+
enabled: true
|
24
|
+
sort_order: ["mixindef", "mixin", "prop", "rule", "extend"]
|
24
25
|
|
25
26
|
# else_placement:
|
26
27
|
# enabled: true
|
data/lib/scss_beautifier/cli.rb
CHANGED
@@ -13,7 +13,7 @@ module SCSSBeautifier
|
|
13
13
|
config = Config.new(options[:config] || DEFAULT)
|
14
14
|
|
15
15
|
config.formatters.each do |formatter|
|
16
|
-
formatter.visit
|
16
|
+
formatter.send(:visit, tree)
|
17
17
|
end
|
18
18
|
|
19
19
|
output = SCSSBeautifier::Convert.visit(tree, {indent: config.tab_style}, :scss)
|
@@ -12,14 +12,19 @@ module SCSSBeautifier
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def formatters
|
15
|
-
enabled_formatters =
|
16
|
-
|
17
|
-
|
15
|
+
enabled_formatters = []
|
16
|
+
@config["formatters"].each do |formatter, options|
|
17
|
+
if options["enabled"]
|
18
|
+
klass = SCSSBeautifier::Formatters.const_get(formatter.split("_").map(&:capitalize).join)
|
19
|
+
enabled_formatters << klass.new(options)
|
20
|
+
end
|
18
21
|
end
|
22
|
+
enabled_formatters
|
19
23
|
end
|
20
24
|
|
21
25
|
def tab_style
|
22
26
|
@config["tab_style"] || " "
|
23
27
|
end
|
28
|
+
|
24
29
|
end
|
25
|
-
end
|
30
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
|
-
class SCSSBeautifier::Formatters::DeclarationOrder <
|
2
|
-
|
3
|
-
|
1
|
+
class SCSSBeautifier::Formatters::DeclarationOrder < SCSSBeautifier::Formatters::Base
|
2
|
+
|
3
|
+
DEFAULT_SORT_ORDER = ["mixindef", "extend", "mixin", "prop", "rule"].freeze
|
4
4
|
|
5
5
|
def visit_rule(node)
|
6
6
|
order_children(node)
|
@@ -9,15 +9,34 @@ class SCSSBeautifier::Formatters::DeclarationOrder < Sass::Tree::Visitors::Base
|
|
9
9
|
|
10
10
|
def order_children(node)
|
11
11
|
node_hash = Hash.new { |h, k| h[k] = [] }
|
12
|
+
comment_array = []
|
12
13
|
node.children.each do |child|
|
13
|
-
hash_key = child.class.to_s
|
14
|
-
|
14
|
+
hash_key = child.class.node_name.to_s
|
15
|
+
if hash_key == 'comment'
|
16
|
+
comment_array << child
|
17
|
+
else
|
18
|
+
if comment_array.any?
|
19
|
+
node_hash[hash_key] = node_hash[hash_key].concat comment_array
|
20
|
+
comment_array = []
|
21
|
+
end
|
22
|
+
node_hash[hash_key] << child
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
compiled_array = sort_order.reduce([]) do |memo, key|
|
27
|
+
memo.concat(node_hash[key])
|
15
28
|
end
|
16
29
|
|
17
|
-
|
30
|
+
(node_hash.keys - sort_order).reduce(compiled_array) do |memo, key|
|
18
31
|
memo.concat(node_hash[key])
|
19
32
|
end
|
20
33
|
|
21
34
|
node.children = compiled_array
|
22
35
|
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def sort_order
|
40
|
+
@sort_order ||= options["sort_order"] || DEFAULT_SORT_ORDER
|
41
|
+
end
|
23
42
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class SCSSBeautifier::Formatters::LeadingZero <
|
1
|
+
class SCSSBeautifier::Formatters::LeadingZero < SCSSBeautifier::Formatters::Base
|
2
2
|
# ExcludeZero Only
|
3
3
|
def visit_prop(node)
|
4
4
|
if Sass::Script::Tree::Literal === node.value && Sass::Script::Value::String === node.value.value
|
@@ -1,23 +1,32 @@
|
|
1
|
-
class SCSSBeautifier::Formatters::PropertySortOrder <
|
1
|
+
class SCSSBeautifier::Formatters::PropertySortOrder < SCSSBeautifier::Formatters::Base
|
2
2
|
def visit_rule(node)
|
3
3
|
order_children(node)
|
4
4
|
visit_children(node)
|
5
5
|
end
|
6
6
|
|
7
7
|
def order_children(node)
|
8
|
-
prop_node_indices = []
|
9
8
|
prop_nodes = []
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
9
|
+
comment_array = []
|
10
|
+
node.children.each do |child|
|
11
|
+
hash_key = child.class.node_name.to_s
|
12
|
+
if hash_key == 'comment'
|
13
|
+
comment_array << child
|
14
|
+
elsif hash_key == 'prop'
|
15
|
+
prop_nodes << comment_array.push(child)
|
16
|
+
comment_array = []
|
15
17
|
end
|
16
18
|
end
|
17
|
-
prop_nodes.sort! { |x,y| x.name[0] <=> y.name[0] }
|
19
|
+
prop_nodes.sort! { |x,y| x.last.name[0] <=> y.last.name[0] }
|
18
20
|
# Replace children being respective of other types of props/funcs/etc
|
19
|
-
|
20
|
-
|
21
|
+
children = []
|
22
|
+
node.children.each do |child|
|
23
|
+
hash_key = child.class.node_name.to_s
|
24
|
+
if hash_key == 'prop'
|
25
|
+
children.concat(prop_nodes.shift)
|
26
|
+
elsif hash_key != 'comment'
|
27
|
+
children << child
|
28
|
+
end
|
21
29
|
end
|
30
|
+
node.children = children
|
22
31
|
end
|
23
32
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
PSEUDO_ELEMENTS = File.read(File.realpath(File.join(File.dirname(__FILE__), "..", "..", "..", "data", "pseudo_elements.txt"))).split("\n")
|
2
2
|
|
3
|
-
class SCSSBeautifier::Formatters::PseudoElement <
|
3
|
+
class SCSSBeautifier::Formatters::PseudoElement < SCSSBeautifier::Formatters::Base
|
4
4
|
def visit_rule(node)
|
5
5
|
check_pseudo(node) if node.rule.join.match(/::?/)
|
6
6
|
visit_children(node)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class SCSSBeautifier::Formatters::Shorthand <
|
1
|
+
class SCSSBeautifier::Formatters::Shorthand < SCSSBeautifier::Formatters::Base
|
2
2
|
def visit_prop(node)
|
3
3
|
property_name = node.name.join
|
4
4
|
return unless SHORTHANDABLE_PROPERTIES.include?(property_name)
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class SCSSBeautifier::Formatters::SilentComment < SCSSBeautifier::Formatters::Base
|
2
|
+
def visit_comment(node)
|
3
|
+
format_comment(node) if node.type == :normal
|
4
|
+
end
|
5
|
+
|
6
|
+
private
|
7
|
+
|
8
|
+
def format_comment(node)
|
9
|
+
# Remove /* from the beginning
|
10
|
+
node.value.first.gsub!(/^\/\*/, "//")
|
11
|
+
# Remove */ from the end
|
12
|
+
node.value.last.gsub!(/\*\/$/, "")
|
13
|
+
node.value.each do |item|
|
14
|
+
item.gsub!(/\n/, "\n//") if String === item
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
data/lib/scss_beautifier.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
$:.unshift "/Users/joenatalzia/Sites/tools/sass/lib"
|
4
|
-
|
5
3
|
module SCSSBeautifier
|
6
4
|
module Formatters
|
7
5
|
end
|
@@ -17,11 +15,13 @@ require "scss_beautifier/config"
|
|
17
15
|
# Our custom SCSS to SCSS converter
|
18
16
|
require "scss_beautifier/convert"
|
19
17
|
|
18
|
+
# Our base formatter
|
19
|
+
require "scss_beautifier/formatters/base"
|
20
|
+
|
20
21
|
# Formatters
|
21
|
-
require "scss_beautifier/formatters/bang_format"
|
22
22
|
require "scss_beautifier/formatters/border_zero"
|
23
23
|
require "scss_beautifier/formatters/color"
|
24
|
-
require "scss_beautifier/formatters/
|
24
|
+
require "scss_beautifier/formatters/silent_comment"
|
25
25
|
require "scss_beautifier/formatters/debug"
|
26
26
|
require "scss_beautifier/formatters/declaration_order"
|
27
27
|
require "scss_beautifier/formatters/empty_rule"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scss_beautifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Tse
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-09-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sass
|
@@ -107,10 +107,9 @@ files:
|
|
107
107
|
- lib/scss_beautifier/cli.rb
|
108
108
|
- lib/scss_beautifier/config.rb
|
109
109
|
- lib/scss_beautifier/convert.rb
|
110
|
-
- lib/scss_beautifier/formatters/
|
110
|
+
- lib/scss_beautifier/formatters/base.rb
|
111
111
|
- lib/scss_beautifier/formatters/border_zero.rb
|
112
112
|
- lib/scss_beautifier/formatters/color.rb
|
113
|
-
- lib/scss_beautifier/formatters/comment.rb
|
114
113
|
- lib/scss_beautifier/formatters/debug.rb
|
115
114
|
- lib/scss_beautifier/formatters/declaration_order.rb
|
116
115
|
- lib/scss_beautifier/formatters/empty_rule.rb
|
@@ -121,34 +120,13 @@ files:
|
|
121
120
|
- lib/scss_beautifier/formatters/qualifying_element.rb
|
122
121
|
- lib/scss_beautifier/formatters/selector.rb
|
123
122
|
- lib/scss_beautifier/formatters/shorthand.rb
|
123
|
+
- lib/scss_beautifier/formatters/silent_comment.rb
|
124
124
|
- lib/scss_beautifier/formatters/string_quotes.rb
|
125
125
|
- lib/scss_beautifier/formatters/trailing_zero.rb
|
126
126
|
- lib/scss_beautifier/options.rb
|
127
127
|
- lib/scss_beautifier/version.rb
|
128
128
|
- scss_beautifier.gemspec
|
129
|
-
- tmp/bang.scss
|
130
|
-
- tmp/border0.scss
|
131
|
-
- tmp/colorkeyword.scss
|
132
|
-
- tmp/colorshort.scss
|
133
|
-
- tmp/comments.scss
|
134
|
-
- tmp/debug.scss
|
135
|
-
- tmp/declarationorder.scss
|
136
129
|
- tmp/dump.txt
|
137
|
-
- tmp/elseplacement.scss
|
138
|
-
- tmp/empty.scss
|
139
|
-
- tmp/leadingzero.scss
|
140
|
-
- tmp/nameformat.scss
|
141
|
-
- tmp/pm.scss
|
142
|
-
- tmp/pm2.scss
|
143
|
-
- tmp/propertysortorder.scss
|
144
|
-
- tmp/pseudoelement.scss
|
145
|
-
- tmp/qualifyingelement.scss
|
146
|
-
- tmp/selectors.scss
|
147
|
-
- tmp/shorthand.scss
|
148
|
-
- tmp/string_quotes.scss
|
149
|
-
- tmp/test.scss
|
150
|
-
- tmp/test2.scss
|
151
|
-
- tmp/trailing_zero.scss
|
152
130
|
homepage: https://github.com/paperlesspost/scss-beautifier
|
153
131
|
licenses:
|
154
132
|
- MIT
|
@@ -1,21 +0,0 @@
|
|
1
|
-
class SCSSBeautifier::Formatters::BangFormat < Sass::Tree::Visitors::Base
|
2
|
-
# def visit_extend(node)
|
3
|
-
# format_bang(node)
|
4
|
-
# end
|
5
|
-
|
6
|
-
def visit_prop(node)
|
7
|
-
node.value.each{ |item| format_bang(item) }
|
8
|
-
end
|
9
|
-
|
10
|
-
# def visit_variable(node)
|
11
|
-
# format_bang(node)
|
12
|
-
# end
|
13
|
-
|
14
|
-
def format_bang(item)
|
15
|
-
if Sass::Script::Tree::Literal === item && Sass::Script::Value::String === item.value
|
16
|
-
if item.value.value.include?("!")
|
17
|
-
item.instance_variable_set(:@value, Sass::Script::Value::String.new(item.value.value.gsub(/\s*!\s*/, ' !')))
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
class SCSSBeautifier::Formatters::Comment < Sass::Tree::Visitors::Base
|
2
|
-
def visit_comment(node)
|
3
|
-
# require 'pry'; binding.pry
|
4
|
-
format_comment(node)# if !node.invisible?
|
5
|
-
end
|
6
|
-
|
7
|
-
def format_comment(node)
|
8
|
-
node.value.first.gsub!(/\/\*\s?/, "// ")
|
9
|
-
node.value.last.gsub!(/\*\//, "")
|
10
|
-
# require 'pry'; binding.pry
|
11
|
-
node.value.each do |item|
|
12
|
-
if String === item
|
13
|
-
item.gsub!(/\n\s?/, "\n// ")
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
data/tmp/bang.scss
DELETED
data/tmp/border0.scss
DELETED
data/tmp/colorkeyword.scss
DELETED
data/tmp/colorshort.scss
DELETED
data/tmp/comments.scss
DELETED
data/tmp/debug.scss
DELETED
data/tmp/declarationorder.scss
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
.declaration-order {
|
2
|
-
color: $brown;
|
3
|
-
font-size: 15px;
|
4
|
-
|
5
|
-
@include breakpoint($fullscreen);
|
6
|
-
@include box-shadow(10px);
|
7
|
-
|
8
|
-
@extend %placeholder;
|
9
|
-
|
10
|
-
.rule {
|
11
|
-
color: $charcoal;
|
12
|
-
|
13
|
-
@extend %placeholder;
|
14
|
-
@extend %placeholder-2;
|
15
|
-
|
16
|
-
.nested-one-more {
|
17
|
-
@include box-shadow(10px);
|
18
|
-
|
19
|
-
color: $brown;
|
20
|
-
font-size: 15px;
|
21
|
-
|
22
|
-
@include breakpoint($fullscreen);
|
23
|
-
|
24
|
-
@extend %placeholder;
|
25
|
-
}
|
26
|
-
|
27
|
-
transition: transform .5s ease;
|
28
|
-
}
|
29
|
-
|
30
|
-
@extend %something;
|
31
|
-
}
|
data/tmp/elseplacement.scss
DELETED
data/tmp/empty.scss
DELETED
data/tmp/leadingzero.scss
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
.test {
|
2
|
-
margin: 0.5em;
|
3
|
-
padding: .25em;
|
4
|
-
padding: 1em 2em 0.5em 2em;
|
5
|
-
|
6
|
-
.test2 {
|
7
|
-
margin: 0.5em;
|
8
|
-
padding: .25em;
|
9
|
-
padding: 1em 2em 0.5em 2em;
|
10
|
-
}
|
11
|
-
|
12
|
-
@include breakpoint($full) {
|
13
|
-
margin: 0.5em;
|
14
|
-
padding: .25em;
|
15
|
-
padding: 1em 2em 0.5em 2em;
|
16
|
-
}
|
17
|
-
}
|
data/tmp/nameformat.scss
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
@mixin myMixin1() {
|
2
|
-
color: $black;
|
3
|
-
}
|
4
|
-
|
5
|
-
@mixin my-mixin2() {
|
6
|
-
color: $black;
|
7
|
-
}
|
8
|
-
|
9
|
-
$someVar1: 'test';
|
10
|
-
$some-var2: 'test';
|
11
|
-
|
12
|
-
%placeholderOne1 {
|
13
|
-
color: $black;
|
14
|
-
}
|
15
|
-
|
16
|
-
%placeholder-one2 {
|
17
|
-
color: $black;
|
18
|
-
}
|
19
|
-
|
20
|
-
@function testFunc1($c) {
|
21
|
-
|
22
|
-
}
|
23
|
-
|
24
|
-
@function test-func2($c) {
|
25
|
-
|
26
|
-
}
|
27
|
-
|
28
|
-
@function test_func3($c) {
|
29
|
-
|
30
|
-
}
|
data/tmp/pm.scss
DELETED
@@ -1,228 +0,0 @@
|
|
1
|
-
// override styles for typeahead
|
2
|
-
ul.private-message-dropdown-menu {
|
3
|
-
border: none;
|
4
|
-
display: none;
|
5
|
-
list-style-position: outside;
|
6
|
-
list-style: none;
|
7
|
-
overflow-y: auto;
|
8
|
-
padding: 0 0 5px 0;
|
9
|
-
position: absolute;
|
10
|
-
width: 100%;
|
11
|
-
z-index: 1000;
|
12
|
-
@include calc( height, '100% - 350px');
|
13
|
-
@include scrollbar($alto, rgba(0, 0, 0, 0));
|
14
|
-
|
15
|
-
li {
|
16
|
-
cursor: pointer;
|
17
|
-
border-bottom: 1px solid $alto;
|
18
|
-
display: list-item;
|
19
|
-
margin: 0;
|
20
|
-
overflow: hidden;
|
21
|
-
padding: 12px;
|
22
|
-
|
23
|
-
a {
|
24
|
-
color: $charcoal;
|
25
|
-
font-size: 16px;
|
26
|
-
|
27
|
-
strong {
|
28
|
-
font-weight: normal;
|
29
|
-
}
|
30
|
-
}
|
31
|
-
|
32
|
-
&.active {
|
33
|
-
background-color: $alabaster;
|
34
|
-
|
35
|
-
a {
|
36
|
-
color: $driftwood;
|
37
|
-
text-decoration: none;
|
38
|
-
}
|
39
|
-
}
|
40
|
-
}
|
41
|
-
}
|
42
|
-
|
43
|
-
// Private message write a message form
|
44
|
-
.write-a-message-form {
|
45
|
-
background: $white;
|
46
|
-
bottom: 20px;
|
47
|
-
position: absolute;
|
48
|
-
@include calc( width, '100% - 40px');
|
49
|
-
}
|
50
|
-
|
51
|
-
// Private Message pane that holds the conversation (right pane)
|
52
|
-
.conversation {
|
53
|
-
padding-bottom: 90px;
|
54
|
-
position: relative;
|
55
|
-
|
56
|
-
// Each message
|
57
|
-
.convo {
|
58
|
-
font-size: 16px;
|
59
|
-
padding: 15px 20px;
|
60
|
-
}
|
61
|
-
}
|
62
|
-
|
63
|
-
// Private message conversation list (right pane)
|
64
|
-
.private_messages {
|
65
|
-
overflow-x: hidden!important;
|
66
|
-
overflow-y: scroll !important;
|
67
|
-
padding: 30px 0 0 0;
|
68
|
-
@include calc( height, '100% - 192px');
|
69
|
-
@include scrollbar($alto, rgba(0, 0, 0, 0));
|
70
|
-
|
71
|
-
&::-webkit-scrollbar-thumb {
|
72
|
-
border: 0;
|
73
|
-
}
|
74
|
-
}
|
75
|
-
|
76
|
-
// Private message conversation list div (left pane)
|
77
|
-
.conversation-list-wrapper {
|
78
|
-
@include scrollbar($alto, rgba(0, 0, 0, 0));
|
79
|
-
}
|
80
|
-
|
81
|
-
// The date dividers in Private message conversation
|
82
|
-
.divider {
|
83
|
-
text-align: center ! important;
|
84
|
-
|
85
|
-
.divider-time {
|
86
|
-
background: $white;
|
87
|
-
color: $silver;
|
88
|
-
font-size: 14px;
|
89
|
-
margin: 0 auto;
|
90
|
-
position: relative;
|
91
|
-
width: 150px;
|
92
|
-
z-index: 1;
|
93
|
-
}
|
94
|
-
|
95
|
-
.divider__fade{
|
96
|
-
border: none;
|
97
|
-
height: auto;
|
98
|
-
position: relative;
|
99
|
-
|
100
|
-
&:after{
|
101
|
-
bottom: 7px;
|
102
|
-
content: "";
|
103
|
-
height: 1px;
|
104
|
-
left: 0;
|
105
|
-
position: absolute;
|
106
|
-
right: 0px;
|
107
|
-
@include background-image(linear-gradient(left, transparent -6%, $alto, transparent 110%));
|
108
|
-
}
|
109
|
-
}
|
110
|
-
}
|
111
|
-
|
112
|
-
// CTA when user is logged out and trying to view PM page
|
113
|
-
.blocked-cta {
|
114
|
-
font-size: 1.30em;
|
115
|
-
margin: 20px 0;
|
116
|
-
text-align: center;
|
117
|
-
|
118
|
-
a:active,
|
119
|
-
a:link,
|
120
|
-
a:hover,
|
121
|
-
a:visited {
|
122
|
-
color: $driftwood;
|
123
|
-
}
|
124
|
-
}
|
125
|
-
|
126
|
-
// Host reciever name is special
|
127
|
-
.host .receiver-name {
|
128
|
-
color: $driftwood;
|
129
|
-
}
|
130
|
-
|
131
|
-
// state of the partner
|
132
|
-
.state {
|
133
|
-
font-style: italic;
|
134
|
-
margin-left: 5px;
|
135
|
-
text-transform: capitalize;
|
136
|
-
|
137
|
-
&.state-attending {
|
138
|
-
color: $light_green;
|
139
|
-
}
|
140
|
-
|
141
|
-
&.state-regrets {
|
142
|
-
color: $cornflower;
|
143
|
-
}
|
144
|
-
|
145
|
-
&.state-added,
|
146
|
-
&.state-new,
|
147
|
-
&.state-opened,
|
148
|
-
&.state-registered,
|
149
|
-
&.state-undeliverable {
|
150
|
-
color: $white;
|
151
|
-
}
|
152
|
-
}
|
153
|
-
|
154
|
-
.pvt-msg__submit {
|
155
|
-
float: right;
|
156
|
-
margin-top: 10px;
|
157
|
-
}
|
158
|
-
|
159
|
-
// Write a message form that pertains to a particuliar guest (as opposed to New Recipient view)
|
160
|
-
.guest-message-form {
|
161
|
-
margin: 0;
|
162
|
-
|
163
|
-
span {
|
164
|
-
display: inline-block;
|
165
|
-
font-size: 16px;
|
166
|
-
position: absolute;
|
167
|
-
vertical-align: top;
|
168
|
-
}
|
169
|
-
|
170
|
-
.search-icon {
|
171
|
-
position: absolute;
|
172
|
-
right: 30px;
|
173
|
-
|
174
|
-
.svg-search {
|
175
|
-
fill: $alto;
|
176
|
-
height: 18px;
|
177
|
-
width: 18px;
|
178
|
-
}
|
179
|
-
}
|
180
|
-
|
181
|
-
textarea {
|
182
|
-
overflow-y: hidden;
|
183
|
-
}
|
184
|
-
}
|
185
|
-
|
186
|
-
// Search for name input
|
187
|
-
.new-recipient {
|
188
|
-
border: 0;
|
189
|
-
border-bottom: 1px solid $alto;
|
190
|
-
font-size: 16px;
|
191
|
-
height: 40px;
|
192
|
-
line-height: 1em;
|
193
|
-
margin-top: 0;
|
194
|
-
padding: 0 0 19px 30px;
|
195
|
-
width: 100%;
|
196
|
-
@include input-placeholder {
|
197
|
-
padding: 0 0 0 1px;
|
198
|
-
}
|
199
|
-
}
|
200
|
-
|
201
|
-
// override for signup/login modals
|
202
|
-
.ui-modal .pane {
|
203
|
-
padding: 0;
|
204
|
-
}
|
205
|
-
|
206
|
-
@include breakpoint($fullscreen) {
|
207
|
-
|
208
|
-
// Private message write a message form
|
209
|
-
.write-a-message-form {
|
210
|
-
width: 400px;
|
211
|
-
}
|
212
|
-
}
|
213
|
-
|
214
|
-
.pvt-msg__header-name {
|
215
|
-
border-bottom: solid 4px transparent;
|
216
|
-
color: $charcoal;
|
217
|
-
display: block;
|
218
|
-
font-size: 13px;
|
219
|
-
letter-spacing: 0.15em;
|
220
|
-
line-height: 1.5em;
|
221
|
-
margin: 25px auto 0;
|
222
|
-
min-height: 38px;
|
223
|
-
padding: 0 7px 18px;
|
224
|
-
position: relative;
|
225
|
-
text-transform: uppercase;
|
226
|
-
width: 70%;
|
227
|
-
word-wrap: break-word;
|
228
|
-
}
|
data/tmp/pm2.scss
DELETED
@@ -1,235 +0,0 @@
|
|
1
|
-
// override styles for typeahead
|
2
|
-
ul.private-message-dropdown-menu {
|
3
|
-
border: none;
|
4
|
-
display: none;
|
5
|
-
list-style-position: outside;
|
6
|
-
list-style: none;
|
7
|
-
overflow-y: auto;
|
8
|
-
padding: 0 0 5px 0;
|
9
|
-
position: absolute;
|
10
|
-
width: 100%;
|
11
|
-
z-index: 1000;
|
12
|
-
|
13
|
-
@include calc(height, "100% - 350px");
|
14
|
-
|
15
|
-
@include scrollbar($alto, rgba(0, 0, 0, 0));
|
16
|
-
|
17
|
-
li {
|
18
|
-
cursor: pointer;
|
19
|
-
border-bottom: 1px solid $alto;
|
20
|
-
display: list-item;
|
21
|
-
margin: 0;
|
22
|
-
overflow: hidden;
|
23
|
-
padding: 12px;
|
24
|
-
|
25
|
-
a {
|
26
|
-
color: $charcoal;
|
27
|
-
font-size: 16px;
|
28
|
-
|
29
|
-
strong {
|
30
|
-
font-weight: normal;
|
31
|
-
}
|
32
|
-
}
|
33
|
-
|
34
|
-
&.active {
|
35
|
-
background-color: $alabaster;
|
36
|
-
|
37
|
-
a {
|
38
|
-
color: $driftwood;
|
39
|
-
text-decoration: none;
|
40
|
-
}
|
41
|
-
}
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
// Private message write a message form
|
46
|
-
.write-a-message-form {
|
47
|
-
background: $white;
|
48
|
-
bottom: 20px;
|
49
|
-
position: absolute;
|
50
|
-
|
51
|
-
@include calc(width, "100% - 40px");
|
52
|
-
}
|
53
|
-
|
54
|
-
// Private Message pane that holds the conversation (right pane)
|
55
|
-
.conversation {
|
56
|
-
padding-bottom: 90px;
|
57
|
-
position: relative;
|
58
|
-
|
59
|
-
// Each message
|
60
|
-
.convo {
|
61
|
-
font-size: 16px;
|
62
|
-
padding: 15px 20px;
|
63
|
-
}
|
64
|
-
}
|
65
|
-
|
66
|
-
// Private message conversation list (right pane)
|
67
|
-
.private_messages {
|
68
|
-
overflow-x: hidden !important;
|
69
|
-
overflow-y: scroll !important;
|
70
|
-
padding: 30px 0 0 0;
|
71
|
-
|
72
|
-
@include calc(height, "100% - 192px");
|
73
|
-
|
74
|
-
@include scrollbar($alto, rgba(0, 0, 0, 0));
|
75
|
-
|
76
|
-
&::-webkit-scrollbar-thumb {
|
77
|
-
border: none;
|
78
|
-
}
|
79
|
-
}
|
80
|
-
|
81
|
-
// Private message conversation list div (left pane)
|
82
|
-
.conversation-list-wrapper {
|
83
|
-
@include scrollbar($alto, rgba(0, 0, 0, 0));
|
84
|
-
}
|
85
|
-
|
86
|
-
// The date dividers in Private message conversation
|
87
|
-
.divider {
|
88
|
-
text-align: center !important;
|
89
|
-
|
90
|
-
.divider-time {
|
91
|
-
background: $white;
|
92
|
-
color: $silver;
|
93
|
-
font-size: 14px;
|
94
|
-
margin: 0 auto;
|
95
|
-
position: relative;
|
96
|
-
width: 150px;
|
97
|
-
z-index: 1;
|
98
|
-
}
|
99
|
-
|
100
|
-
.divider__fade {
|
101
|
-
border: none;
|
102
|
-
height: auto;
|
103
|
-
position: relative;
|
104
|
-
|
105
|
-
&:after {
|
106
|
-
bottom: 7px;
|
107
|
-
content: "";
|
108
|
-
height: 1px;
|
109
|
-
left: 0;
|
110
|
-
position: absolute;
|
111
|
-
right: 0px;
|
112
|
-
|
113
|
-
@include background-image(linear-gradient(left, transparent -6%, $alto, transparent 110%));
|
114
|
-
}
|
115
|
-
}
|
116
|
-
}
|
117
|
-
|
118
|
-
// CTA when user is logged out and trying to view PM page
|
119
|
-
.blocked-cta {
|
120
|
-
font-size: 1.30em;
|
121
|
-
margin: 20px 0;
|
122
|
-
text-align: center;
|
123
|
-
|
124
|
-
a:active,
|
125
|
-
a:link,
|
126
|
-
a:hover,
|
127
|
-
a:visited {
|
128
|
-
color: $driftwood;
|
129
|
-
}
|
130
|
-
}
|
131
|
-
|
132
|
-
// Host reciever name is special
|
133
|
-
.host .receiver-name {
|
134
|
-
color: $driftwood;
|
135
|
-
}
|
136
|
-
|
137
|
-
// state of the partner
|
138
|
-
.state {
|
139
|
-
font-style: italic;
|
140
|
-
margin-left: 5px;
|
141
|
-
text-transform: capitalize;
|
142
|
-
|
143
|
-
&.state-attending {
|
144
|
-
color: $light_green;
|
145
|
-
}
|
146
|
-
|
147
|
-
&.state-regrets {
|
148
|
-
color: $cornflower;
|
149
|
-
}
|
150
|
-
|
151
|
-
&.state-added,
|
152
|
-
&.state-new,
|
153
|
-
&.state-opened,
|
154
|
-
&.state-registered,
|
155
|
-
&.state-undeliverable {
|
156
|
-
color: $white;
|
157
|
-
}
|
158
|
-
}
|
159
|
-
|
160
|
-
.pvt-msg__submit {
|
161
|
-
float: right;
|
162
|
-
margin-top: 10px;
|
163
|
-
}
|
164
|
-
|
165
|
-
// Write a message form that pertains to a particuliar guest (as opposed to New Recipient view)
|
166
|
-
.guest-message-form {
|
167
|
-
margin: 0;
|
168
|
-
|
169
|
-
span {
|
170
|
-
display: inline-block;
|
171
|
-
font-size: 16px;
|
172
|
-
position: absolute;
|
173
|
-
vertical-align: top;
|
174
|
-
}
|
175
|
-
|
176
|
-
.search-icon {
|
177
|
-
position: absolute;
|
178
|
-
right: 30px;
|
179
|
-
|
180
|
-
.svg-search {
|
181
|
-
fill: $alto;
|
182
|
-
height: 18px;
|
183
|
-
width: 18px;
|
184
|
-
}
|
185
|
-
}
|
186
|
-
|
187
|
-
textarea {
|
188
|
-
overflow-y: hidden;
|
189
|
-
}
|
190
|
-
}
|
191
|
-
|
192
|
-
// Search for name input
|
193
|
-
.new-recipient {
|
194
|
-
border: none;
|
195
|
-
border-bottom: 1px solid $alto;
|
196
|
-
font-size: 16px;
|
197
|
-
height: 40px;
|
198
|
-
line-height: 1em;
|
199
|
-
margin-top: 0;
|
200
|
-
padding: 0 0 19px 30px;
|
201
|
-
width: 100%;
|
202
|
-
|
203
|
-
@include input-placeholder {
|
204
|
-
padding: 0 0 0 1px;
|
205
|
-
}
|
206
|
-
}
|
207
|
-
|
208
|
-
// override for signup/login modals
|
209
|
-
.ui-modal .pane {
|
210
|
-
padding: 0;
|
211
|
-
}
|
212
|
-
|
213
|
-
@include breakpoint($fullscreen) {
|
214
|
-
// Private message write a message form
|
215
|
-
.write-a-message-form {
|
216
|
-
width: 400px;
|
217
|
-
}
|
218
|
-
}
|
219
|
-
|
220
|
-
|
221
|
-
.pvt-msg__header-name {
|
222
|
-
border-bottom: solid 4px transparent;
|
223
|
-
color: $charcoal;
|
224
|
-
display: block;
|
225
|
-
font-size: 13px;
|
226
|
-
letter-spacing: 0.15em;
|
227
|
-
line-height: 1.5em;
|
228
|
-
margin: 25px auto 0;
|
229
|
-
min-height: 38px;
|
230
|
-
padding: 0 7px 18px;
|
231
|
-
position: relative;
|
232
|
-
text-transform: uppercase;
|
233
|
-
width: 70%;
|
234
|
-
word-wrap: break-word;
|
235
|
-
}
|
data/tmp/propertysortorder.scss
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
.rule1 {
|
2
|
-
@extend %placeholder;
|
3
|
-
@extend %placeholder-2;
|
4
|
-
|
5
|
-
color: $black;
|
6
|
-
padding: 10px;
|
7
|
-
display: block;
|
8
|
-
@extend %placeholder2;
|
9
|
-
text-transform: uppercase;;
|
10
|
-
margin: 20px 0;
|
11
|
-
|
12
|
-
.secondary-rule {
|
13
|
-
position: absolute;
|
14
|
-
display: inline-block;
|
15
|
-
padding: 10px 0;
|
16
|
-
@include box-shadow(border-box);
|
17
|
-
color: $black;
|
18
|
-
}
|
19
|
-
}
|
data/tmp/pseudoelement.scss
DELETED
data/tmp/qualifyingelement.scss
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
div.class {
|
2
|
-
color: $green;
|
3
|
-
}
|
4
|
-
|
5
|
-
.class {
|
6
|
-
color: $green;
|
7
|
-
}
|
8
|
-
|
9
|
-
a#id {
|
10
|
-
color: $green;
|
11
|
-
}
|
12
|
-
|
13
|
-
#id {
|
14
|
-
color: $green;
|
15
|
-
}
|
16
|
-
|
17
|
-
span[data-id="test"] {
|
18
|
-
color: $green;
|
19
|
-
}
|
20
|
-
|
21
|
-
[data-id="test"] {
|
22
|
-
color: $green;
|
23
|
-
}
|
data/tmp/selectors.scss
DELETED
data/tmp/shorthand.scss
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
.test {
|
2
|
-
border-color: $silver transparent transparent transparent;
|
3
|
-
margin: 1px 1px 1px 1px;
|
4
|
-
padding: 1px 5px;
|
5
|
-
}
|
6
|
-
|
7
|
-
.test2 {
|
8
|
-
padding: 2px 5px 1px;
|
9
|
-
margin: 5px 1px 6px 4px;
|
10
|
-
}
|
11
|
-
|
12
|
-
.more-test {
|
13
|
-
margin: 10px 2px 4px 2px;
|
14
|
-
padding: 14px;
|
15
|
-
border-color: red green red green;
|
16
|
-
}
|
data/tmp/string_quotes.scss
DELETED
data/tmp/test.scss
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
.test { color: #f00;}
|
data/tmp/test2.scss
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
// hmm
|
2
|
-
// what #{$version}
|
3
|
-
// lolnoextra
|
4
|
-
//
|
5
|
-
// bad comment
|
6
|
-
.a {
|
7
|
-
.nested {
|
8
|
-
color: #000 ! important;
|
9
|
-
}
|
10
|
-
|
11
|
-
padding: 1px;
|
12
|
-
font-size: 12px !important;
|
13
|
-
border: 0;
|
14
|
-
}
|
15
|
-
|
16
|
-
.b { border: 0 1px;
|
17
|
-
}
|
18
|
-
|
19
|
-
.c,.d {
|
20
|
-
border-bottom: 1px solid $alto;
|
21
|
-
}
|
22
|
-
|
23
|
-
.space {
|
24
|
-
@include box-shadow(0 2px 2px rgba(0, 0, 0, 0.2));
|
25
|
-
|
26
|
-
$my-color: #fff;
|
27
|
-
|
28
|
-
color: rgba(0, 0, 0, 0.1);
|
29
|
-
width: 5+5;content: "hello";
|
30
|
-
}
|
31
|
-
|
32
|
-
.empty {
|
33
|
-
|
34
|
-
}
|
35
|
-
// Photos pages svg styles
|
data/tmp/trailing_zero.scss
DELETED