pah 0.0.14 → 0.0.15
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/CHANGELOG.md +23 -0
- data/CONTRIBUTING.md +2 -3
- data/LICENSE.txt +1 -1
- data/README.md +0 -1
- data/features/bourbon.feature +23 -0
- data/features/bullet.feature +2 -1
- data/features/canonical_host.feature +2 -1
- data/features/capybara.feature +2 -1
- data/features/database.feature +2 -1
- data/features/env.feature +2 -1
- data/features/gemfile.feature +3 -2
- data/features/generators.feature +2 -1
- data/features/git.feature +2 -1
- data/features/heroku.feature +2 -1
- data/features/jumpup.feature +2 -1
- data/features/layout.feature +2 -2
- data/features/letter_opener.feature +2 -1
- data/features/locale.feature +4 -3
- data/features/newrelic.feature +2 -1
- data/features/public.feature +2 -1
- data/features/puma.feature +2 -1
- data/features/rack_deflater.feature +2 -1
- data/features/rack_timeout.feature +2 -1
- data/features/rails_works.feature +4 -2
- data/features/readme.feature +2 -1
- data/features/remove_unused_files.feature +2 -1
- data/features/rollbar.feature +3 -2
- data/features/rspec.feature +3 -1
- data/features/run_specs.feature +2 -1
- data/features/runner.feature +42 -4
- data/features/secret_token.feature +2 -1
- data/features/secure_headers.feature +2 -1
- data/features/sendgrid.feature +2 -1
- data/features/simple_form.feature +2 -1
- data/features/step_definitions/create_simple_app.rb +19 -9
- data/features/step_definitions/file_content.rb +5 -0
- data/features/support/env.rb +3 -0
- data/lib/pah/files/Gemfile +24 -25
- data/lib/pah/files/app/views/application/_flash_messages.html.slim +3 -4
- data/lib/pah/files/app/views/layouts/application.html.slim +4 -33
- data/lib/pah/files/config/initializers/rack_timeout.rb +3 -1
- data/lib/pah/files/spec/acceptance/dummy_spec.rb +2 -2
- data/lib/pah/files/spec/rails_helper.rb +19 -0
- data/lib/pah/files/spec/spec_helper.rb +10 -43
- data/lib/pah/pah.rb +64 -0
- data/lib/pah/partials/_bourbon.rb +25 -0
- data/lib/pah/partials/_heroku.rb +16 -9
- data/lib/pah/partials/_layout.rb +1 -2
- data/lib/pah/partials/_locale.rb +2 -2
- data/lib/pah/partials/_rack_deflater.rb +1 -1
- data/lib/pah/partials/_rollbar.rb +1 -1
- data/lib/pah/partials/_rspec.rb +1 -0
- data/lib/pah/template.rb +2 -58
- data/lib/pah/version.rb +2 -2
- metadata +9 -15
- data/features/assets.feature +0 -13
- data/lib/pah/files/app/assets/javascripts/application.js +0 -33
- data/lib/pah/files/app/assets/stylesheets/_variables.scss +0 -39
- data/lib/pah/files/app/assets/stylesheets/application.scss +0 -5
- data/lib/pah/files/app/assets/stylesheets/form.scss +0 -248
- data/lib/pah/files/app/assets/stylesheets/general.scss +0 -47
- data/lib/pah/files/app/assets/stylesheets/reset.scss +0 -75
- data/lib/pah/files/app/assets/stylesheets/responsive.scss +0 -97
- data/lib/pah/files/app/views/application/_error_messages.html.slim +0 -5
- data/lib/pah/partials/_assets.rb +0 -12
data/lib/pah/partials/_layout.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
copy_static_file 'app/views/layouts/application.html.slim'
|
2
|
-
copy_static_file 'app/views/application/_error_messages.html.slim'
|
3
2
|
copy_static_file 'app/views/application/_flash_messages.html.slim'
|
4
3
|
|
5
4
|
gsub_file 'app/views/layouts/application.html.slim', /= page_title(app_name: 'example')/, "= page_title(app_name: '#{@app_name}')"
|
6
5
|
|
7
6
|
git add: 'app/views/'
|
8
|
-
git_commit 'Add layout files.'
|
7
|
+
git_commit 'Add layout files.'
|
data/lib/pah/partials/_locale.rb
CHANGED
@@ -14,8 +14,8 @@ inject_into_file 'config/application.rb', time_zone_config, { after: "# config.t
|
|
14
14
|
locale_config = <<LOCALE
|
15
15
|
|
16
16
|
config.i18n.enforce_available_locales = true
|
17
|
-
config.i18n.default_locale = :
|
18
|
-
config.i18n.locale = :
|
17
|
+
config.i18n.default_locale = :'pt-BR'
|
18
|
+
config.i18n.locale = :'pt-BR'
|
19
19
|
LOCALE
|
20
20
|
|
21
21
|
inject_into_file 'config/application.rb', locale_config, { after: "# config.i18n.default_locale = :de", verbose: false }
|
@@ -1,6 +1,6 @@
|
|
1
1
|
file = 'config/application.rb'
|
2
2
|
inject = "\n\n config.middleware.use Rack::Deflater"
|
3
|
-
options = { after: /config\.i18n\.locale = :
|
3
|
+
options = { after: /config\.i18n\.locale = :'.*'/, verbose: false }
|
4
4
|
|
5
5
|
inject_into_file file, inject, options
|
6
6
|
|
data/lib/pah/partials/_rspec.rb
CHANGED
data/lib/pah/template.rb
CHANGED
@@ -1,60 +1,4 @@
|
|
1
|
-
require File.
|
2
|
-
|
3
|
-
%w{colored}.each do |component|
|
4
|
-
if Gem::Specification.find_all_by_name(component).empty?
|
5
|
-
run "gem install #{component}"
|
6
|
-
Gem.refresh
|
7
|
-
Gem::Specification.find_by_name(component).activate
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
require "rails"
|
12
|
-
require "colored"
|
13
|
-
require "bundler"
|
14
|
-
|
15
|
-
# Directories for template partials and static files
|
16
|
-
@template_root = File.expand_path(File.join(File.dirname(__FILE__)))
|
17
|
-
@partials = File.join(@template_root, 'partials')
|
18
|
-
@static_files = File.join(@template_root, 'files')
|
19
|
-
|
20
|
-
# Copy a static file from the template into the new application
|
21
|
-
def copy_static_file(path)
|
22
|
-
remove_file path
|
23
|
-
file path, File.read(File.join(@static_files, path))
|
24
|
-
end
|
25
|
-
|
26
|
-
def apply_n(partial, message='')
|
27
|
-
puts message.magenta
|
28
|
-
|
29
|
-
in_root do
|
30
|
-
Bundler.with_clean_env do
|
31
|
-
apply "#{@partials}/_#{partial}.rb"
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
puts "\n"
|
36
|
-
end
|
37
|
-
|
38
|
-
def will_you_like_to?(question)
|
39
|
-
answer = ask("Will you like to #{question} [y,n]".red)
|
40
|
-
case answer.downcase
|
41
|
-
when "yes", "y"
|
42
|
-
true
|
43
|
-
when "no", "n"
|
44
|
-
false
|
45
|
-
else
|
46
|
-
will_you_like_to?(question)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
def ask_unless_test(*params)
|
51
|
-
ask(*params)
|
52
|
-
end
|
53
|
-
|
54
|
-
def git_commit(message)
|
55
|
-
message = "#{message}\n\nGenerated by pah version #{Pah::VERSION}"
|
56
|
-
git commit: "-qm '#{message}'"
|
57
|
-
end
|
1
|
+
require File.join(File.dirname(__FILE__), 'pah.rb')
|
58
2
|
|
59
3
|
puts "\n========================================================="
|
60
4
|
puts " Pah".yellow.bold
|
@@ -68,7 +12,7 @@ apply_n :gems, 'Setting up bundler and installing bundled gems (may t
|
|
68
12
|
apply_n :database, 'Initializing databases...'
|
69
13
|
apply_n :rspec, 'Setting up RSpec...'
|
70
14
|
apply_n :layout, 'Adding layout files...'
|
71
|
-
apply_n :
|
15
|
+
apply_n :bourbon, 'Setting up Bourbon files...'
|
72
16
|
apply_n :public, 'Adding public files...'
|
73
17
|
apply_n :secure_headers, 'Adding secure headers...'
|
74
18
|
apply_n :secret_token, 'Replacing secret token with environment variable...'
|
data/lib/pah/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pah
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- HE:labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 4.1.
|
19
|
+
version: 4.1.4
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 4.1.
|
26
|
+
version: 4.1.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: colored
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,7 +114,7 @@ files:
|
|
114
114
|
- README.md
|
115
115
|
- Rakefile
|
116
116
|
- bin/pah
|
117
|
-
- features/
|
117
|
+
- features/bourbon.feature
|
118
118
|
- features/bullet.feature
|
119
119
|
- features/canonical_host.feature
|
120
120
|
- features/capybara.feature
|
@@ -157,14 +157,6 @@ files:
|
|
157
157
|
- lib/pah/files/Gemfile
|
158
158
|
- lib/pah/files/Procfile
|
159
159
|
- lib/pah/files/README.md
|
160
|
-
- lib/pah/files/app/assets/javascripts/application.js
|
161
|
-
- lib/pah/files/app/assets/stylesheets/_variables.scss
|
162
|
-
- lib/pah/files/app/assets/stylesheets/application.scss
|
163
|
-
- lib/pah/files/app/assets/stylesheets/form.scss
|
164
|
-
- lib/pah/files/app/assets/stylesheets/general.scss
|
165
|
-
- lib/pah/files/app/assets/stylesheets/reset.scss
|
166
|
-
- lib/pah/files/app/assets/stylesheets/responsive.scss
|
167
|
-
- lib/pah/files/app/views/application/_error_messages.html.slim
|
168
160
|
- lib/pah/files/app/views/application/_flash_messages.html.slim
|
169
161
|
- lib/pah/files/app/views/layouts/application.html.slim
|
170
162
|
- lib/pah/files/config/database.yml
|
@@ -182,6 +174,7 @@ files:
|
|
182
174
|
- lib/pah/files/public/500.html
|
183
175
|
- lib/pah/files/public/robots.txt
|
184
176
|
- lib/pah/files/spec/acceptance/dummy_spec.rb
|
177
|
+
- lib/pah/files/spec/rails_helper.rb
|
185
178
|
- lib/pah/files/spec/spec_helper.rb
|
186
179
|
- lib/pah/files/spec/support/README
|
187
180
|
- lib/pah/files/spec/support/acceptance_helpers.rb
|
@@ -195,8 +188,9 @@ files:
|
|
195
188
|
- lib/pah/files/spec/support/suppress_log.rb
|
196
189
|
- lib/pah/files/spec/support/uploaded_file.rb
|
197
190
|
- lib/pah/files/spec/support/vcr.rb
|
198
|
-
- lib/pah/
|
191
|
+
- lib/pah/pah.rb
|
199
192
|
- lib/pah/partials/_bin.rb
|
193
|
+
- lib/pah/partials/_bourbon.rb
|
200
194
|
- lib/pah/partials/_bullet.rb
|
201
195
|
- lib/pah/partials/_canonical_host.rb
|
202
196
|
- lib/pah/partials/_capybara.rb
|
@@ -253,7 +247,7 @@ specification_version: 4
|
|
253
247
|
summary: A rails application template which born from Startup DEV and now is used
|
254
248
|
to start most projects at HE:labs.
|
255
249
|
test_files:
|
256
|
-
- features/
|
250
|
+
- features/bourbon.feature
|
257
251
|
- features/bullet.feature
|
258
252
|
- features/canonical_host.feature
|
259
253
|
- features/capybara.feature
|
data/features/assets.feature
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
Feature: Assets
|
2
|
-
Background:
|
3
|
-
Given I have created a app with pah
|
4
|
-
|
5
|
-
Scenario: Have correct files
|
6
|
-
Then I have a app/assets/javascripts/application.js
|
7
|
-
Then I have a app/assets/stylesheets/_variables.scss
|
8
|
-
Then I have a app/assets/stylesheets/application.scss
|
9
|
-
Then I have a app/assets/stylesheets/reset.scss
|
10
|
-
Then I have a app/assets/stylesheets/general.scss
|
11
|
-
Then I have a app/assets/stylesheets/form.scss
|
12
|
-
Then I have a app/assets/stylesheets/responsive.scss
|
13
|
-
Then I dont have a app/assets/stylesheets/application.css
|
@@ -1,33 +0,0 @@
|
|
1
|
-
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
2
|
-
// listed below.
|
3
|
-
//
|
4
|
-
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
-
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
6
|
-
//
|
7
|
-
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
|
-
// compiled file.
|
9
|
-
//
|
10
|
-
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
|
11
|
-
// about supported directives.
|
12
|
-
//
|
13
|
-
//= require jquery
|
14
|
-
//= require jquery_ujs
|
15
|
-
//= require turbolinks
|
16
|
-
|
17
|
-
function ready() {
|
18
|
-
|
19
|
-
/* Form: Focus and Hint */
|
20
|
-
|
21
|
-
$('input[type="text"], input[type="password"], textarea').focus(function() {
|
22
|
-
$(this).parent().find('.hint').show();
|
23
|
-
$(this).css("box-shadow", "#ccc 0 0 5px");
|
24
|
-
});
|
25
|
-
$('input[type="text"], input[type="password"], textarea').blur(function() {
|
26
|
-
$(this).parent().find('.hint').hide();
|
27
|
-
$(this).css("box-shadow", "none");
|
28
|
-
});
|
29
|
-
|
30
|
-
}
|
31
|
-
|
32
|
-
$(document).ready(ready);
|
33
|
-
$(document).on('page:load', ready);
|
@@ -1,39 +0,0 @@
|
|
1
|
-
@charset "utf-8";
|
2
|
-
|
3
|
-
/* Font Variables */
|
4
|
-
$sans_serif: Arial, "Helvetica", sans-serif;
|
5
|
-
$font-small: 12px;
|
6
|
-
$font-medium: 15px;
|
7
|
-
$font-large: 19px;
|
8
|
-
$font-big: 29px;
|
9
|
-
|
10
|
-
/* Color Variables */
|
11
|
-
$main-color: #555;
|
12
|
-
$text: #333;
|
13
|
-
$darker-color: darken($main-color, 10%);
|
14
|
-
$lighter-color: lighten($main-color, 10%);
|
15
|
-
$grey1: #eee;
|
16
|
-
$grey2: #ddd;
|
17
|
-
$grey3: #999;
|
18
|
-
$grey4: #666;
|
19
|
-
$grey5: #333;
|
20
|
-
|
21
|
-
/* Mixins */
|
22
|
-
@mixin transition($property) {
|
23
|
-
-webkit-transition: $property 0.15s ease-in-out;
|
24
|
-
-moz-transition: $property 0.15s ease-in-out;
|
25
|
-
-o-transition: $property 0.15s ease-in-out;
|
26
|
-
transition: $property 0.15s ease-in-out;
|
27
|
-
}
|
28
|
-
|
29
|
-
@mixin clearfix {
|
30
|
-
&:after {
|
31
|
-
visibility: hidden;
|
32
|
-
display: block;
|
33
|
-
font-size: 0;
|
34
|
-
content: " ";
|
35
|
-
clear: both;
|
36
|
-
height: 0;
|
37
|
-
min-height: 0;
|
38
|
-
}
|
39
|
-
}
|
@@ -1,248 +0,0 @@
|
|
1
|
-
@charset "utf-8";
|
2
|
-
|
3
|
-
/* Fluid Form */
|
4
|
-
|
5
|
-
.simple_form {
|
6
|
-
label {
|
7
|
-
font-weight: bold;
|
8
|
-
}
|
9
|
-
|
10
|
-
.radio {
|
11
|
-
width: auto;
|
12
|
-
}
|
13
|
-
}
|
14
|
-
|
15
|
-
.form-fluid {
|
16
|
-
label {
|
17
|
-
display: block;
|
18
|
-
}
|
19
|
-
|
20
|
-
.form-inputs {
|
21
|
-
input[type="text"],
|
22
|
-
input[type="password"],
|
23
|
-
input[type="email"],
|
24
|
-
input[type="tel"],
|
25
|
-
input[type="number"],
|
26
|
-
textarea {
|
27
|
-
width: 95%;
|
28
|
-
padding-left: 2%;
|
29
|
-
padding-right: 2%;
|
30
|
-
}
|
31
|
-
|
32
|
-
textarea {
|
33
|
-
min-width: 95%;
|
34
|
-
max-width: 95%;
|
35
|
-
}
|
36
|
-
}
|
37
|
-
|
38
|
-
.form-actions {
|
39
|
-
width: 96%;
|
40
|
-
text-align: left;
|
41
|
-
border-radius: 4px;
|
42
|
-
background: $grey1;
|
43
|
-
padding: 10px 2% 10px 2%;
|
44
|
-
float: left;
|
45
|
-
}
|
46
|
-
|
47
|
-
.hint {
|
48
|
-
width: 95%;
|
49
|
-
padding: 10px 2% 10px 2%;
|
50
|
-
left: 0;
|
51
|
-
}
|
52
|
-
}
|
53
|
-
|
54
|
-
/* Fixed and Responsive Form */
|
55
|
-
|
56
|
-
.form-fixed {
|
57
|
-
label {
|
58
|
-
width: 120px;
|
59
|
-
margin: 8px 15px 0 0;
|
60
|
-
text-align: right;
|
61
|
-
float: left;
|
62
|
-
}
|
63
|
-
|
64
|
-
.checkbox {
|
65
|
-
width: auto;
|
66
|
-
margin-left: 135px;
|
67
|
-
margin-bottom: 15px;
|
68
|
-
clear: both;
|
69
|
-
}
|
70
|
-
|
71
|
-
.radio_buttons {
|
72
|
-
margin-bottom: 25px;
|
73
|
-
clear: both;
|
74
|
-
.control-label {
|
75
|
-
margin-right: 0;
|
76
|
-
}
|
77
|
-
}
|
78
|
-
|
79
|
-
.form-inputs {
|
80
|
-
input[type="text"],
|
81
|
-
input[type="password"],
|
82
|
-
input[type="email"],
|
83
|
-
input[type="tel"],
|
84
|
-
input[type="number"],
|
85
|
-
textarea {
|
86
|
-
width: 320px;
|
87
|
-
padding-left: 10px;
|
88
|
-
padding-right: 10px;
|
89
|
-
}
|
90
|
-
|
91
|
-
textarea {
|
92
|
-
min-width: 320px;
|
93
|
-
max-width: 320px;
|
94
|
-
}
|
95
|
-
}
|
96
|
-
|
97
|
-
.form-actions {
|
98
|
-
margin-left: 135px;
|
99
|
-
clear: both;
|
100
|
-
}
|
101
|
-
|
102
|
-
.hint {
|
103
|
-
width: 320px;
|
104
|
-
padding: 10px;
|
105
|
-
left: 135px;
|
106
|
-
}
|
107
|
-
}
|
108
|
-
|
109
|
-
/* Labels */
|
110
|
-
|
111
|
-
input[type="checkbox"],
|
112
|
-
input[type="radio"] {
|
113
|
-
margin-right: 7px;
|
114
|
-
}
|
115
|
-
|
116
|
-
.radio_buttons {
|
117
|
-
.radio {
|
118
|
-
margin-left: 20px;
|
119
|
-
}
|
120
|
-
}
|
121
|
-
|
122
|
-
/* Fields */
|
123
|
-
|
124
|
-
.form-inputs {
|
125
|
-
font-size: $font-medium;
|
126
|
-
margin-top: 20px;
|
127
|
-
|
128
|
-
.input {
|
129
|
-
margin-bottom: 20px;
|
130
|
-
position: relative;
|
131
|
-
}
|
132
|
-
|
133
|
-
abbr {
|
134
|
-
border-bottom: none;
|
135
|
-
color: red;
|
136
|
-
}
|
137
|
-
|
138
|
-
input[type="text"],
|
139
|
-
input[type="password"],
|
140
|
-
input[type="email"],
|
141
|
-
input[type="tel"],
|
142
|
-
input[type="number"] {
|
143
|
-
border-radius: 4px;
|
144
|
-
border: 1px solid $grey2;
|
145
|
-
font: $font-medium $sans_serif;
|
146
|
-
height: 40px;
|
147
|
-
line-height: 40px;
|
148
|
-
color: $grey4;
|
149
|
-
outline: none;
|
150
|
-
}
|
151
|
-
|
152
|
-
input[type="text"],
|
153
|
-
input[type="password"],
|
154
|
-
input[type="email"],
|
155
|
-
input[type="tel"],
|
156
|
-
input[type="number"],
|
157
|
-
select,
|
158
|
-
textarea {
|
159
|
-
margin-top: 8px;
|
160
|
-
}
|
161
|
-
|
162
|
-
textarea {
|
163
|
-
border-radius: 4px;
|
164
|
-
border: 1px solid $grey2;
|
165
|
-
height: 80px;
|
166
|
-
max-height: 160px;
|
167
|
-
padding-top: 15px;
|
168
|
-
padding-bottom: 15px;
|
169
|
-
font: $font-medium $sans_serif;
|
170
|
-
outline: none;
|
171
|
-
}
|
172
|
-
}
|
173
|
-
|
174
|
-
/* Forms Actions */
|
175
|
-
|
176
|
-
.form-actions {
|
177
|
-
button,
|
178
|
-
input[type="submit"],
|
179
|
-
input[type="button"],
|
180
|
-
.btn {
|
181
|
-
border-radius: 4px;
|
182
|
-
height: 40px;
|
183
|
-
line-height: 40px;
|
184
|
-
background: white;
|
185
|
-
border: 1px solid $grey3;
|
186
|
-
padding: 0 10px 0 10px;
|
187
|
-
font: $font-medium $sans_serif;
|
188
|
-
outline: none;
|
189
|
-
color: $grey4;
|
190
|
-
&:hover {
|
191
|
-
opacity: .7;
|
192
|
-
}
|
193
|
-
}
|
194
|
-
}
|
195
|
-
|
196
|
-
/* Hint */
|
197
|
-
|
198
|
-
.hint {
|
199
|
-
border-radius: 4px;
|
200
|
-
background: $grey5;
|
201
|
-
border: 1px solid $grey5;
|
202
|
-
font-size: $font-small;
|
203
|
-
color: white;
|
204
|
-
display: block;
|
205
|
-
position: absolute;
|
206
|
-
z-index: 300;
|
207
|
-
opacity: .9;
|
208
|
-
display: none;
|
209
|
-
}
|
210
|
-
|
211
|
-
.hint:before,
|
212
|
-
.hint:after {
|
213
|
-
content: '';
|
214
|
-
position: absolute;
|
215
|
-
top: -5px;
|
216
|
-
left: 50%;
|
217
|
-
margin-left: -9px;
|
218
|
-
width: 0;
|
219
|
-
height: 0;
|
220
|
-
border-left: 10px solid transparent;
|
221
|
-
border-right: 10px solid transparent;
|
222
|
-
border-bottom: 10px solid $grey5;
|
223
|
-
}
|
224
|
-
|
225
|
-
.string .hint {
|
226
|
-
bottom: -41px;
|
227
|
-
}
|
228
|
-
|
229
|
-
.text .hint {
|
230
|
-
bottom: -38px;
|
231
|
-
}
|
232
|
-
|
233
|
-
/* Validation */
|
234
|
-
|
235
|
-
.validation-error {
|
236
|
-
border-top: 1px solid #ffbbb4;
|
237
|
-
border-bottom: 1px solid #ffbbb4;
|
238
|
-
background: #ffeae8;
|
239
|
-
padding: 10px;
|
240
|
-
margin: 0;
|
241
|
-
display: none;
|
242
|
-
li {
|
243
|
-
margin-left: 20px;
|
244
|
-
line-height: 19px;
|
245
|
-
font-size: $font-small;
|
246
|
-
color: #9e0000;
|
247
|
-
}
|
248
|
-
}
|