card 1.15.pre2 → 1.15.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/VERSION +1 -1
- data/card.gemspec +2 -1
- data/db/bootstrap/card_actions.yml +476 -518
- data/db/bootstrap/card_acts.yml +1 -1
- data/db/bootstrap/card_changes.yml +1937 -2172
- data/db/bootstrap/card_references.yml +2771 -2862
- data/db/bootstrap/cards.yml +1665 -1887
- data/db/migrate_core_cards/data/bootstrap_layout.json +1 -1
- data/lib/card/reference.rb +1 -1
- data/mod/01_core/set/all/collection.rb +1 -2
- data/mod/01_history/set/all/history.rb +76 -67
- data/mod/02_basic_types/set/all/all_css.rb +1 -1
- data/mod/03_machines/lib/javascript/{ace.js → script_ace.js} +0 -0
- data/mod/03_machines/lib/javascript/{wagn_menu.js → script_card_menu.js} +0 -0
- data/mod/03_machines/lib/javascript/{html5shiv-printshiv.js → script_html5shiv_printshiv.js} +0 -0
- data/mod/03_machines/lib/javascript/{jquery.js → script_jquery.js} +0 -0
- data/mod/03_machines/lib/javascript/{tinymce.js → script_tinymce.js} +0 -0
- data/mod/03_machines/lib/javascript/wagn.js.coffee +1 -4
- data/mod/03_machines/lib/stylesheets/style_cards.scss +2 -4
- data/mod/03_machines/lib/stylesheets/{jquery-ui-smoothness.css → style_jquery_ui_smoothness.css} +0 -0
- data/mod/03_machines/set/self/script_ace.rb +7 -3
- data/mod/03_machines/set/self/script_card_menu.rb +2 -7
- data/mod/03_machines/set/self/script_html5shiv_printshiv.rb +2 -7
- data/mod/03_machines/set/self/script_jquery.rb +2 -8
- data/mod/03_machines/set/self/script_jquery_helper.rb +1 -3
- data/mod/03_machines/set/self/script_slot.rb +1 -3
- data/mod/03_machines/set/self/script_tinymce.rb +2 -8
- data/mod/03_machines/set/self/style_bootstrap_compatible.rb +1 -5
- data/mod/03_machines/set/self/style_cards.rb +1 -3
- data/mod/03_machines/set/self/style_jquery_ui_smoothness.rb +2 -7
- data/mod/03_machines/set/type/css.rb +10 -6
- data/mod/03_machines/set/type/scss.rb +1 -2
- data/mod/04_settings/set/type/setting.rb +1 -1
- data/mod/05_email/set/self/follow_defaults.rb +1 -1
- data/mod/05_standard/file/favicon/icon-image.png +0 -0
- data/mod/05_standard/file/favicon/large-image.png +0 -0
- data/mod/05_standard/file/favicon/medium-image.png +0 -0
- data/mod/05_standard/file/favicon/original-image.png +0 -0
- data/mod/05_standard/file/favicon/small-image.png +0 -0
- data/mod/05_standard/set/all/attach.rb +1 -1
- data/mod/05_standard/set/all/rich_html/content.rb +1 -1
- data/mod/05_standard/set/all/rich_html/editing.rb +4 -4
- data/mod/05_standard/set/rstar/rules.rb +2 -2
- data/mod/05_standard/set/self/head.rb +3 -4
- data/mod/05_standard/set/self/signin.rb +2 -2
- data/mod/05_standard/set/type/signup.rb +2 -2
- data/mod/05_standard/set/type/user.rb +1 -1
- data/mod/06_bootstrap/lib/stylesheets/bootstrap_cards.scss +16 -1
- data/mod/06_bootstrap/lib/stylesheets/bootstrap_css.css +1 -1
- data/mod/06_bootstrap/lib/stylesheets/bootswatch_mixins.scss +282 -0
- data/mod/06_bootstrap/lib/stylesheets/theme_cerulean.css +3227 -2399
- data/mod/06_bootstrap/lib/stylesheets/theme_cosmo.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_cyborg.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_darkly.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_flatly.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_journal.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_lumen.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_paper.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_readable.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_sandstone.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_simplex.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_slate.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_spacelab.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_superhero.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_united.css +2 -2
- data/mod/06_bootstrap/lib/stylesheets/theme_yeti.css +2 -2
- data/mod/06_bootstrap/set/all/bootstrap/form.rb +6 -7
- data/mod/06_bootstrap/set/all/rich_bootstrap.rb +2 -2
- data/mod/06_bootstrap/set/self/bootstrap_js.rb +1 -3
- data/mod/06_bootstrap/set/self/bootswatch_mixins.rb +9 -0
- data/mod/06_bootstrap/set/self/theme_cerulean.rb +9 -2
- data/mod/06_bootstrap/set/self/theme_cosmo.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_cyborg.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_darkly.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_flatly.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_journal.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_lumen.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_paper.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_readable.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_sandstone.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_simplex.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_slate.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_spacelab.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_superhero.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_united.rb +2 -2
- data/mod/06_bootstrap/set/self/theme_yeti.rb +2 -2
- data/spec/lib/card/log_spec.rb +1 -1
- data/spec/lib/card/query_spec.rb +3 -3
- data/test/fixtures/card_actions.yml +1124 -1166
- data/test/fixtures/card_acts.yml +101 -101
- data/test/fixtures/card_changes.yml +5093 -5405
- data/test/fixtures/card_references.yml +3224 -3315
- data/test/fixtures/cards.yml +2287 -2586
- metadata +18 -17
- data/mod/05_standard/file/favicon/icon-image.ico +0 -0
- data/mod/05_standard/file/favicon/large-image.ico +0 -0
- data/mod/05_standard/file/favicon/medium-image.ico +0 -0
- data/mod/05_standard/file/favicon/original-image.ico +0 -0
- data/mod/05_standard/file/favicon/small-image.ico +0 -0
- data/mod/06_bootstrap/lib/stylesheets/theme_amelia.css +0 -5871
- data/mod/06_bootstrap/lib/stylesheets/theme_holo.css +0 -183
@@ -1,8 +1,2 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
File.read "#{Cardio.gem_root}/mod/03_machines/lib/javascript/tinymce.js"
|
4
|
-
end
|
5
|
-
|
6
|
-
view :editor do |args|
|
7
|
-
"Content is stored in file and can't be edited."
|
8
|
-
end
|
1
|
+
format { include ScriptAce::Format }
|
2
|
+
format(:html) { include ScriptAce::HtmlFormat }
|
@@ -2,8 +2,4 @@ view :raw do |args|
|
|
2
2
|
File.read "#{Cardio.gem_root}/mod/03_machines/lib/stylesheets/#{card.codename}.css"
|
3
3
|
end
|
4
4
|
|
5
|
-
format
|
6
|
-
view :editor do |args|
|
7
|
-
"Content is stored in file and can't be edited."
|
8
|
-
end
|
9
|
-
end
|
5
|
+
format(:html) { include ScriptAce::HtmlFormat }
|
@@ -1,8 +1,3 @@
|
|
1
|
+
format { include StyleBootstrapCompatible::Format }
|
2
|
+
format(:html) { include ScriptAce::HtmlFormat }
|
1
3
|
|
2
|
-
view :raw do |args|
|
3
|
-
File.read "#{Cardio.gem_root}/mod/03_machines/lib/stylesheets/jquery-ui-smoothness.css"
|
4
|
-
end
|
5
|
-
|
6
|
-
view :editor do |args|
|
7
|
-
"Content is stored in file and can't be edited."
|
8
|
-
end
|
@@ -5,7 +5,7 @@ include MachineInput
|
|
5
5
|
|
6
6
|
store_machine_output :filetype => "css"
|
7
7
|
|
8
|
-
machine_input do
|
8
|
+
machine_input do
|
9
9
|
compress_css format(:format => :css)._render_core
|
10
10
|
end
|
11
11
|
|
@@ -15,28 +15,32 @@ def compress_css input
|
|
15
15
|
rescue => e
|
16
16
|
raise Card::Oops, "Stylesheet Error:\n#{ e.message }"
|
17
17
|
end
|
18
|
-
end
|
18
|
+
end
|
19
19
|
|
20
20
|
def clean_html?
|
21
21
|
false
|
22
22
|
end
|
23
23
|
|
24
|
-
format do
|
25
|
-
def chunk_list #turn off autodetection of uri's
|
24
|
+
format do
|
25
|
+
def chunk_list #turn off autodetection of uri's
|
26
26
|
:references
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
30
|
|
31
31
|
format :html do
|
32
|
+
def get_inclusion_defaults nested_card
|
33
|
+
{ :view => :closed }
|
34
|
+
end
|
35
|
+
|
32
36
|
view :editor, :mod=>PlainText::HtmlFormat
|
33
|
-
|
37
|
+
|
34
38
|
view :core do |args|
|
35
39
|
# FIXME: scan must happen before process for inclusion interactions to work, but this will likely cause
|
36
40
|
# problems with including other css?
|
37
41
|
process_content ::CodeRay.scan( _render_raw, :css ).div, :size=>:icon
|
38
42
|
end
|
39
|
-
|
43
|
+
|
40
44
|
view :content_changes, :mod=>CoffeeScript::HtmlFormat
|
41
45
|
end
|
42
46
|
|
@@ -57,7 +57,7 @@ format :html do
|
|
57
57
|
:card => { :update_all_users => false }
|
58
58
|
)
|
59
59
|
args[:buttons] = %{
|
60
|
-
#{ button_tag 'Submit and update all users', :disable_with=>'Updating', :class=>'follow-updater' }
|
60
|
+
#{ button_tag 'Submit and update all users', :disable_with=>'Updating', :class=>'follow-updater', :situation=>'primary' }
|
61
61
|
#{ button_tag 'Submit', :class=>'follow' }
|
62
62
|
#{ button_tag 'Cancel', :class=>'slotter', :type=>'button', :href=>path(:view=>:edit, :id=>card.id)}
|
63
63
|
}
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -40,7 +40,7 @@ format :html do
|
|
40
40
|
view :titled, :tags=>:comment do |args|
|
41
41
|
wrap args do
|
42
42
|
[
|
43
|
-
_render_header( args
|
43
|
+
_render_header( args ),
|
44
44
|
wrap_body( :content=>true ) { _render_core args },
|
45
45
|
optional_render( :comment_box, args )
|
46
46
|
]
|
@@ -55,7 +55,7 @@ format :html do
|
|
55
55
|
end
|
56
56
|
|
57
57
|
args[:buttons] ||= %{
|
58
|
-
#{ button_tag 'Submit', :class=>'create-submit-button', :disable_with=>'Submitting' }
|
58
|
+
#{ button_tag 'Submit', :class=>'create-submit-button', :disable_with=>'Submitting', :situation=>'primary' }
|
59
59
|
#{ button_tag 'Cancel', :type=>'button', :class=>"create-cancel-button #{cancel[:class]}", :href=>cancel[:href] }
|
60
60
|
}
|
61
61
|
|
@@ -75,7 +75,7 @@ format :html do
|
|
75
75
|
args[:optional_help] = :show
|
76
76
|
|
77
77
|
args[:buttons] = %{
|
78
|
-
#{ button_tag 'Submit', :class=>'submit-button', :disable_with=>'Submitting' }
|
78
|
+
#{ button_tag 'Submit', :class=>'submit-button', :disable_with=>'Submitting', :situation=>'primary' }
|
79
79
|
#{ button_tag 'Cancel', :class=>'cancel-button slotter', :href=>path, :type=>'button' }
|
80
80
|
}
|
81
81
|
end
|
@@ -117,7 +117,7 @@ format :html do
|
|
117
117
|
:card => { :update_referencers => false }
|
118
118
|
)
|
119
119
|
args[:buttons] = %{
|
120
|
-
#{ button_tag 'Rename and Update', :disable_with=>'Renaming', :class=>'renamer-updater' }
|
120
|
+
#{ button_tag 'Rename and Update', :disable_with=>'Renaming', :class=>'renamer-updater', :situation=>'primary' }
|
121
121
|
#{ button_tag 'Rename', :disable_with=>'Renaming', :class=>'renamer' }
|
122
122
|
#{ button_tag 'Cancel', :class=>'slotter', :type=>'button', :href=>path(:view=>:edit, :id=>card.id)}
|
123
123
|
}
|
@@ -139,7 +139,7 @@ format :html do
|
|
139
139
|
args[:variety] = :edit #YUCK!
|
140
140
|
args[:hidden] ||= { :view=>:edit }
|
141
141
|
args[:buttons] = %{
|
142
|
-
#{ button_tag 'Submit', :disable_with=>'Submitting' }
|
142
|
+
#{ button_tag 'Submit', :disable_with=>'Submitting', :situation=>'primary' }
|
143
143
|
#{ button_tag 'Cancel', :href=>path(:view=>:edit), :type=>'button', :class=>'slotter' }
|
144
144
|
}
|
145
145
|
end
|
@@ -65,7 +65,7 @@ format :html do
|
|
65
65
|
</div>
|
66
66
|
|
67
67
|
<div class="alert alert-info rule-instruction">
|
68
|
-
#{ process_content "{{#{setting_name}+*right+*help}}" }
|
68
|
+
#{ process_content "{{#{setting_name}+*right+*help|content}}" }
|
69
69
|
</div>
|
70
70
|
|
71
71
|
<div class="card-body">
|
@@ -208,7 +208,7 @@ format :html do
|
|
208
208
|
wrap_with( :div, :class=>'button-area' ) do
|
209
209
|
[
|
210
210
|
delete_button,
|
211
|
-
button_tag( 'Submit', :class=>'rule-submit-button' ),
|
211
|
+
button_tag( 'Submit', :class=>'rule-submit-button', :situation=>'primary' ),
|
212
212
|
button_tag( 'Cancel', :class=>'rule-cancel-button slotter', :type=>'button',
|
213
213
|
:href=>cancel_path, :success=>true )
|
214
214
|
]
|
@@ -4,10 +4,10 @@ format :html do
|
|
4
4
|
%(
|
5
5
|
<meta charset="UTF-8">
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
7
|
-
#{ head_title
|
7
|
+
#{ head_title }
|
8
8
|
#{ head_buttons }
|
9
9
|
#{ head_stylesheets }
|
10
|
-
#{ head_javascript
|
10
|
+
#{ head_javascript }
|
11
11
|
)
|
12
12
|
end
|
13
13
|
|
@@ -30,7 +30,7 @@ format :html do
|
|
30
30
|
bits = []
|
31
31
|
[:favicon, :logo].each do |name|
|
32
32
|
if c = Card[name] and c.type_id == ImageID and !c.db_content.blank?
|
33
|
-
bits << %{<link rel="shortcut icon" href="#{ subformat(c)._render_source :size=>:
|
33
|
+
bits << %{<link rel="shortcut icon" href="#{ subformat(c)._render_source :size=>:small }" />}
|
34
34
|
break
|
35
35
|
end
|
36
36
|
end
|
@@ -55,7 +55,6 @@ format :html do
|
|
55
55
|
manual_style = params[:style]
|
56
56
|
style_card = Card[manual_style] if manual_style
|
57
57
|
style_card ||= root.card.rule_card :style
|
58
|
-
|
59
58
|
@css_path = if params[:debug] == 'style'
|
60
59
|
page_path( style_card.cardname, :item => :import, :format => :css)
|
61
60
|
elsif style_card
|
@@ -20,7 +20,7 @@ format :html do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def default_core_args args={}
|
23
|
-
args[:buttons] = button_tag 'Sign in'
|
23
|
+
args[:buttons] = button_tag 'Sign in', :situation=>'primary'
|
24
24
|
if Card.new(:type_id=>Card::SignupID).ok? :create
|
25
25
|
args[:buttons] += link_to( '...or sign up!', card_path("account/signup"))
|
26
26
|
end
|
@@ -53,7 +53,7 @@ format :html do
|
|
53
53
|
args.merge!( {
|
54
54
|
:title=>'Forgot Password',
|
55
55
|
:optional_help=>:hide,
|
56
|
-
:buttons => button_tag( 'Reset my password' ),
|
56
|
+
:buttons => button_tag( 'Reset my password', :situation=>'primary' ),
|
57
57
|
:structure => true,
|
58
58
|
:hidden => {
|
59
59
|
:reset_password => true,
|
@@ -5,7 +5,7 @@ format :html do
|
|
5
5
|
super args
|
6
6
|
args.merge!(
|
7
7
|
:optional_help => :show, #, :optional_menu=>:never
|
8
|
-
:buttons => button_tag( 'Submit', :disable_with=>'Submitting' ),
|
8
|
+
:buttons => button_tag( 'Submit', :disable_with=>'Submitting', :situation=>'primary' ),
|
9
9
|
:account => card.fetch( :trait=>:account, :new=>{} ),
|
10
10
|
:title => 'Sign up',
|
11
11
|
:hidden => {
|
@@ -16,7 +16,7 @@ format :html do
|
|
16
16
|
|
17
17
|
if Auth.signed_in? and args[:account].confirm_ok?
|
18
18
|
args[:title] = 'Invite'
|
19
|
-
args[:buttons] = button_tag 'Send Invitation'
|
19
|
+
args[:buttons] = button_tag 'Send Invitation', :situation=>'primary'
|
20
20
|
args[:hidden][:success] = '_self'
|
21
21
|
end
|
22
22
|
end
|
@@ -15,7 +15,7 @@ format :html do
|
|
15
15
|
:optional_help=>:show,
|
16
16
|
:optional_menu=>:never,
|
17
17
|
:help_text=>help_text,
|
18
|
-
:buttons => button_tag( 'Set up', :disable_with=>'Setting up' ),
|
18
|
+
:buttons => button_tag( 'Set up', :disable_with=>'Setting up', :situation=>'primary' ),
|
19
19
|
:hidden => {
|
20
20
|
:success => "REDIRECT: #{ Card.path_setting '/' }",
|
21
21
|
'card[type_id]' => Card.default_accounted_type_id,
|
@@ -80,6 +80,18 @@ body.mceContentBody {
|
|
80
80
|
}
|
81
81
|
|
82
82
|
|
83
|
+
/*---------- Card menu ------------*/
|
84
|
+
|
85
|
+
.card-slot > .card-header .card-menu-link {
|
86
|
+
display: none;
|
87
|
+
}
|
88
|
+
.card-slot.closed-view,
|
89
|
+
.card-slot:hover {
|
90
|
+
> .card-header .card-menu-link {
|
91
|
+
display: inline-block;
|
92
|
+
}
|
93
|
+
}
|
94
|
+
|
83
95
|
/*----------- Change View ---------*/
|
84
96
|
|
85
97
|
.change-view {
|
@@ -93,7 +105,10 @@ body.mceContentBody {
|
|
93
105
|
}
|
94
106
|
}
|
95
107
|
|
96
|
-
|
108
|
+
.titled-view > .card-header {
|
109
|
+
font-size: 1.3em;
|
110
|
+
margin: 3px 0
|
111
|
+
}
|
97
112
|
|
98
113
|
/*---------- ( Richtext )-------------*/
|
99
114
|
|
@@ -0,0 +1,282 @@
|
|
1
|
+
// Gradients
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
// Horizontal gradient, from left to right
|
6
|
+
//
|
7
|
+
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
8
|
+
// Color stops are not available in IE9 and below.
|
9
|
+
@mixin gradient-horizontal($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
10
|
+
background-image: -webkit-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
|
11
|
+
background-image: -o-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Opera 12
|
12
|
+
background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
|
13
|
+
background-repeat: repeat-x;
|
14
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down
|
15
|
+
}
|
16
|
+
|
17
|
+
// Vertical gradient, from top to bottom
|
18
|
+
//
|
19
|
+
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
20
|
+
// Color stops are not available in IE9 and below.
|
21
|
+
@mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
22
|
+
background-image: -webkit-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
|
23
|
+
background-image: -o-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Opera 12
|
24
|
+
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
|
25
|
+
background-repeat: repeat-x;
|
26
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down
|
27
|
+
}
|
28
|
+
|
29
|
+
@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
|
30
|
+
background-repeat: repeat-x;
|
31
|
+
background-image: -webkit-linear-gradient($deg, $start-color, $end-color); // Safari 5.1-6, Chrome 10+
|
32
|
+
background-image: -o-linear-gradient($deg, $start-color, $end-color); // Opera 12
|
33
|
+
background-image: linear-gradient($deg, $start-color, $end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
|
34
|
+
}
|
35
|
+
@mixin gradient-horizontal-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
36
|
+
background-image: -webkit-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
|
37
|
+
background-image: -o-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
|
38
|
+
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
|
39
|
+
background-repeat: no-repeat;
|
40
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down, gets no color-stop at all for proper fallback
|
41
|
+
}
|
42
|
+
@mixin gradient-vertical-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
43
|
+
background-image: -webkit-linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
44
|
+
background-image: -o-linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
45
|
+
background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
46
|
+
background-repeat: no-repeat;
|
47
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
|
48
|
+
}
|
49
|
+
@mixin gradient-radial($inner-color: #555, $outer-color: #333) {
|
50
|
+
background-image: -webkit-radial-gradient(circle, $inner-color, $outer-color);
|
51
|
+
background-image: radial-gradient(circle, $inner-color, $outer-color);
|
52
|
+
background-repeat: no-repeat;
|
53
|
+
}
|
54
|
+
@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {
|
55
|
+
background-image: -webkit-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
56
|
+
background-image: -o-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
57
|
+
background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
58
|
+
}
|
59
|
+
|
60
|
+
|
61
|
+
// Vendor Prefixes
|
62
|
+
//
|
63
|
+
// All vendor mixins are deprecated as of v3.2.0 due to the introduction of
|
64
|
+
// Autoprefixer in our Gruntfile. They will be removed in v4.
|
65
|
+
|
66
|
+
// - Animations
|
67
|
+
// - Backface visibility
|
68
|
+
// - Box shadow
|
69
|
+
// - Box sizing
|
70
|
+
// - Content columns
|
71
|
+
// - Hyphens
|
72
|
+
// - Placeholder text
|
73
|
+
// - Transformations
|
74
|
+
// - Transitions
|
75
|
+
// - User Select
|
76
|
+
|
77
|
+
|
78
|
+
// Animations
|
79
|
+
@mixin animation($animation) {
|
80
|
+
-webkit-animation: $animation;
|
81
|
+
-o-animation: $animation;
|
82
|
+
animation: $animation;
|
83
|
+
}
|
84
|
+
@mixin animation-name($name) {
|
85
|
+
-webkit-animation-name: $name;
|
86
|
+
animation-name: $name;
|
87
|
+
}
|
88
|
+
@mixin animation-duration($duration) {
|
89
|
+
-webkit-animation-duration: $duration;
|
90
|
+
animation-duration: $duration;
|
91
|
+
}
|
92
|
+
@mixin animation-timing-function($timing-function) {
|
93
|
+
-webkit-animation-timing-function: $timing-function;
|
94
|
+
animation-timing-function: $timing-function;
|
95
|
+
}
|
96
|
+
@mixin animation-delay($delay) {
|
97
|
+
-webkit-animation-delay: $delay;
|
98
|
+
animation-delay: $delay;
|
99
|
+
}
|
100
|
+
@mixin animation-iteration-count($iteration-count) {
|
101
|
+
-webkit-animation-iteration-count: $iteration-count;
|
102
|
+
animation-iteration-count: $iteration-count;
|
103
|
+
}
|
104
|
+
@mixin animation-direction($direction) {
|
105
|
+
-webkit-animation-direction: $direction;
|
106
|
+
animation-direction: $direction;
|
107
|
+
}
|
108
|
+
@mixin animation-fill-mode($fill-mode) {
|
109
|
+
-webkit-animation-fill-mode: $fill-mode;
|
110
|
+
animation-fill-mode: $fill-mode;
|
111
|
+
}
|
112
|
+
|
113
|
+
// Backface visibility
|
114
|
+
// Prevent browsers from flickering when using CSS 3D transforms.
|
115
|
+
// Default value is `visible`, but can be changed to `hidden`
|
116
|
+
|
117
|
+
@mixin backface-visibility($visibility){
|
118
|
+
-webkit-backface-visibility: $visibility;
|
119
|
+
-moz-backface-visibility: $visibility;
|
120
|
+
backface-visibility: $visibility;
|
121
|
+
}
|
122
|
+
|
123
|
+
// Drop shadows
|
124
|
+
//
|
125
|
+
// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's
|
126
|
+
// supported browsers that have box shadow capabilities now support it.
|
127
|
+
|
128
|
+
@mixin box-shadow($shadow...) {
|
129
|
+
-webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1
|
130
|
+
box-shadow: $shadow;
|
131
|
+
}
|
132
|
+
|
133
|
+
// Box sizing
|
134
|
+
@mixin box-sizing($boxmodel) {
|
135
|
+
-webkit-box-sizing: $boxmodel;
|
136
|
+
-moz-box-sizing: $boxmodel;
|
137
|
+
box-sizing: $boxmodel;
|
138
|
+
}
|
139
|
+
|
140
|
+
// CSS3 Content Columns
|
141
|
+
@mixin content-columns($column-count, $column-gap: $grid-gutter-width) {
|
142
|
+
-webkit-column-count: $column-count;
|
143
|
+
-moz-column-count: $column-count;
|
144
|
+
column-count: $column-count;
|
145
|
+
-webkit-column-gap: $column-gap;
|
146
|
+
-moz-column-gap: $column-gap;
|
147
|
+
column-gap: $column-gap;
|
148
|
+
}
|
149
|
+
|
150
|
+
// Optional hyphenation
|
151
|
+
@mixin hyphens($mode: auto) {
|
152
|
+
word-wrap: break-word;
|
153
|
+
-webkit-hyphens: $mode;
|
154
|
+
-moz-hyphens: $mode;
|
155
|
+
-ms-hyphens: $mode; // IE10+
|
156
|
+
-o-hyphens: $mode;
|
157
|
+
hyphens: $mode;
|
158
|
+
}
|
159
|
+
|
160
|
+
// Placeholder text
|
161
|
+
@mixin placeholder($color: $input-color-placeholder) {
|
162
|
+
// Firefox
|
163
|
+
&::-moz-placeholder {
|
164
|
+
color: $color;
|
165
|
+
opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526
|
166
|
+
}
|
167
|
+
&:-ms-input-placeholder { color: $color; } // Internet Explorer 10+
|
168
|
+
&::-webkit-input-placeholder { color: $color; } // Safari and Chrome
|
169
|
+
}
|
170
|
+
|
171
|
+
// Transformations
|
172
|
+
@mixin scale($ratio...) {
|
173
|
+
-webkit-transform: scale($ratio);
|
174
|
+
-ms-transform: scale($ratio); // IE9 only
|
175
|
+
-o-transform: scale($ratio);
|
176
|
+
transform: scale($ratio);
|
177
|
+
}
|
178
|
+
|
179
|
+
@mixin scaleX($ratio) {
|
180
|
+
-webkit-transform: scaleX($ratio);
|
181
|
+
-ms-transform: scaleX($ratio); // IE9 only
|
182
|
+
-o-transform: scaleX($ratio);
|
183
|
+
transform: scaleX($ratio);
|
184
|
+
}
|
185
|
+
@mixin scaleY($ratio) {
|
186
|
+
-webkit-transform: scaleY($ratio);
|
187
|
+
-ms-transform: scaleY($ratio); // IE9 only
|
188
|
+
-o-transform: scaleY($ratio);
|
189
|
+
transform: scaleY($ratio);
|
190
|
+
}
|
191
|
+
@mixin skew($x, $y) {
|
192
|
+
-webkit-transform: skewX($x) skewY($y);
|
193
|
+
-ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
|
194
|
+
-o-transform: skewX($x) skewY($y);
|
195
|
+
transform: skewX($x) skewY($y);
|
196
|
+
}
|
197
|
+
@mixin translate($x, $y) {
|
198
|
+
-webkit-transform: translate($x, $y);
|
199
|
+
-ms-transform: translate($x, $y); // IE9 only
|
200
|
+
-o-transform: translate($x, $y);
|
201
|
+
transform: translate($x, $y);
|
202
|
+
}
|
203
|
+
@mixin translate3d($x, $y, $z) {
|
204
|
+
-webkit-transform: translate3d($x, $y, $z);
|
205
|
+
transform: translate3d($x, $y, $z);
|
206
|
+
}
|
207
|
+
@mixin rotate($degrees) {
|
208
|
+
-webkit-transform: rotate($degrees);
|
209
|
+
-ms-transform: rotate($degrees); // IE9 only
|
210
|
+
-o-transform: rotate($degrees);
|
211
|
+
transform: rotate($degrees);
|
212
|
+
}
|
213
|
+
@mixin rotateX($degrees) {
|
214
|
+
-webkit-transform: rotateX($degrees);
|
215
|
+
-ms-transform: rotateX($degrees); // IE9 only
|
216
|
+
-o-transform: rotateX($degrees);
|
217
|
+
transform: rotateX($degrees);
|
218
|
+
}
|
219
|
+
@mixin rotateY($degrees) {
|
220
|
+
-webkit-transform: rotateY($degrees);
|
221
|
+
-ms-transform: rotateY($degrees); // IE9 only
|
222
|
+
-o-transform: rotateY($degrees);
|
223
|
+
transform: rotateY($degrees);
|
224
|
+
}
|
225
|
+
@mixin perspective($perspective) {
|
226
|
+
-webkit-perspective: $perspective;
|
227
|
+
-moz-perspective: $perspective;
|
228
|
+
perspective: $perspective;
|
229
|
+
}
|
230
|
+
@mixin perspective-origin($perspective) {
|
231
|
+
-webkit-perspective-origin: $perspective;
|
232
|
+
-moz-perspective-origin: $perspective;
|
233
|
+
perspective-origin: $perspective;
|
234
|
+
}
|
235
|
+
@mixin transform-origin($origin) {
|
236
|
+
-webkit-transform-origin: $origin;
|
237
|
+
-moz-transform-origin: $origin;
|
238
|
+
-ms-transform-origin: $origin; // IE9 only
|
239
|
+
transform-origin: $origin;
|
240
|
+
}
|
241
|
+
|
242
|
+
|
243
|
+
// Transitions
|
244
|
+
|
245
|
+
@mixin transition($transition...) {
|
246
|
+
-webkit-transition: $transition;
|
247
|
+
-o-transition: $transition;
|
248
|
+
transition: $transition;
|
249
|
+
}
|
250
|
+
@mixin transition-property($transition-property...) {
|
251
|
+
-webkit-transition-property: $transition-property;
|
252
|
+
transition-property: $transition-property;
|
253
|
+
}
|
254
|
+
@mixin transition-delay($transition-delay) {
|
255
|
+
-webkit-transition-delay: $transition-delay;
|
256
|
+
transition-delay: $transition-delay;
|
257
|
+
}
|
258
|
+
@mixin transition-duration($transition-duration...) {
|
259
|
+
-webkit-transition-duration: $transition-duration;
|
260
|
+
transition-duration: $transition-duration;
|
261
|
+
}
|
262
|
+
@mixin transition-timing-function($timing-function) {
|
263
|
+
-webkit-transition-timing-function: $timing-function;
|
264
|
+
transition-timing-function: $timing-function;
|
265
|
+
}
|
266
|
+
@mixin transition-transform($transition...) {
|
267
|
+
-webkit-transition: -webkit-transform $transition;
|
268
|
+
-moz-transition: -moz-transform $transition;
|
269
|
+
-o-transition: -o-transform $transition;
|
270
|
+
transition: transform $transition;
|
271
|
+
}
|
272
|
+
|
273
|
+
|
274
|
+
// User select
|
275
|
+
// For selecting text on the page
|
276
|
+
|
277
|
+
@mixin user-select($select) {
|
278
|
+
-webkit-user-select: $select;
|
279
|
+
-moz-user-select: $select;
|
280
|
+
-ms-user-select: $select; // IE10+
|
281
|
+
user-select: $select;
|
282
|
+
}
|