leather2 3.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +34 -0
  4. data/app/assets/images/leather/hero24.jpg +0 -0
  5. data/app/assets/javascripts/leather.js +13 -0
  6. data/app/assets/javascripts/leather/navbar_transparent.coffee +4 -0
  7. data/app/assets/javascripts/leather/off_canvas.coffee +16 -0
  8. data/app/assets/stylesheets/docs.scss +3 -0
  9. data/app/assets/stylesheets/leather.scss +19 -0
  10. data/app/assets/stylesheets/leather/_buttons.scss +31 -0
  11. data/app/assets/stylesheets/leather/_devise.scss +72 -0
  12. data/app/assets/stylesheets/leather/_grid.scss +19 -0
  13. data/app/assets/stylesheets/leather/_list_groups.scss +33 -0
  14. data/app/assets/stylesheets/leather/_nav_menus.scss +125 -0
  15. data/app/assets/stylesheets/leather/_navbar_transparent.scss +23 -0
  16. data/app/assets/stylesheets/leather/_off_canvas.scss +109 -0
  17. data/app/assets/stylesheets/leather/_scroll_panels.scss +85 -0
  18. data/app/assets/stylesheets/leather/_toggle_columns.scss +23 -0
  19. data/app/assets/stylesheets/leather/_typography.scss +12 -0
  20. data/app/assets/stylesheets/leather/_utilities.scss +54 -0
  21. data/app/assets/stylesheets/leather/_variables.scss +8 -0
  22. data/app/assets/stylesheets/leather/components/_cta.scss +13 -0
  23. data/app/assets/stylesheets/leather/components/_features.scss +87 -0
  24. data/app/assets/stylesheets/leather/components/_flex_boxes.scss +37 -0
  25. data/app/assets/stylesheets/leather/components/_image_block.scss +55 -0
  26. data/app/controllers/leather/application_controller.rb +13 -0
  27. data/app/controllers/leather/layouts_controller.rb +15 -0
  28. data/app/helpers/leather/application_helper.rb +28 -0
  29. data/app/views/leather/application/_table.html.haml +23 -0
  30. data/app/views/leather/application/components.html.haml +173 -0
  31. data/app/views/leather/application/ui_kit.html.haml +405 -0
  32. data/app/views/leather/bootstrap_components/_dropdown_nav_item.html.haml +7 -0
  33. data/app/views/leather/bootstrap_components/_modal.html.haml +4 -0
  34. data/app/views/leather/bootstrap_components/_modal_body.html.haml +2 -0
  35. data/app/views/leather/bootstrap_components/_modal_footer.html.haml +2 -0
  36. data/app/views/leather/bootstrap_components/_modal_header.html.haml +5 -0
  37. data/app/views/leather/bootstrap_components/_nav_item.html.haml +2 -0
  38. data/app/views/leather/bootstrap_components/_nav_list.html.haml +2 -0
  39. data/app/views/leather/bootstrap_components/_navbar.html.haml +58 -0
  40. data/app/views/leather/layouts/_links.html.haml +8 -0
  41. data/app/views/leather/layouts/_navigation.html.haml +0 -0
  42. data/app/views/leather/layouts/admin.html.haml +20 -0
  43. data/app/views/leather/layouts/three_column.html.haml +47 -0
  44. data/app/views/leather/layouts/two_column.html.haml +34 -0
  45. data/config/routes.rb +7 -0
  46. data/lib/generators/leather/install/install_generator.rb +29 -0
  47. data/lib/leather.rb +12 -0
  48. data/lib/leather/action_controller_extension.rb +39 -0
  49. data/lib/leather/engine.rb +9 -0
  50. data/lib/leather/leather_helpers.rb +58 -0
  51. data/lib/leather/railtie.rb +12 -0
  52. data/lib/leather/version.rb +3 -0
  53. data/lib/tasks/leather_tasks.rake +4 -0
  54. data/templates/_navigation.html.haml +14 -0
  55. data/templates/bootstrap_variables.css.scss +848 -0
  56. data/templates/high_voltage.rb +4 -0
  57. data/templates/views/devise/passwords/edit.html.erb +28 -0
  58. data/templates/views/devise/passwords/new.html.erb +22 -0
  59. data/templates/views/devise/registrations/new.html.erb +32 -0
  60. data/templates/views/devise/sessions/new.html.erb +32 -0
  61. data/templates/views/devise/shared/_links.html.erb +23 -0
  62. data/templates/views/devise/shared/_welcome.html.erb +4 -0
  63. data/templates/views/pages/home.html.haml +2 -0
  64. data/test/dummy/README.rdoc +28 -0
  65. data/test/dummy/Rakefile +6 -0
  66. data/test/dummy/app/assets/javascripts/application.js +17 -0
  67. data/test/dummy/app/assets/stylesheets/application.css.scss +3 -0
  68. data/test/dummy/app/assets/stylesheets/bootstrap_variables.css.scss +848 -0
  69. data/test/dummy/app/controllers/application_controller.rb +5 -0
  70. data/test/dummy/app/helpers/application_helper.rb +2 -0
  71. data/test/dummy/app/models/user.rb +6 -0
  72. data/test/dummy/app/views/application/_navigation.html.haml +14 -0
  73. data/test/dummy/app/views/devise/passwords/edit.html.erb +28 -0
  74. data/test/dummy/app/views/devise/passwords/new.html.erb +22 -0
  75. data/test/dummy/app/views/devise/registrations/new.html.erb +32 -0
  76. data/test/dummy/app/views/devise/sessions/new.html.erb +32 -0
  77. data/test/dummy/app/views/devise/shared/_links.html.erb +23 -0
  78. data/test/dummy/app/views/devise/shared/_welcome.html.erb +4 -0
  79. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  80. data/test/dummy/app/views/pages/home.html.haml +2 -0
  81. data/test/dummy/bin/bundle +3 -0
  82. data/test/dummy/bin/rails +4 -0
  83. data/test/dummy/bin/rake +4 -0
  84. data/test/dummy/config.ru +4 -0
  85. data/test/dummy/config/application.rb +23 -0
  86. data/test/dummy/config/boot.rb +5 -0
  87. data/test/dummy/config/database.yml +25 -0
  88. data/test/dummy/config/environment.rb +5 -0
  89. data/test/dummy/config/environments/development.rb +37 -0
  90. data/test/dummy/config/environments/production.rb +82 -0
  91. data/test/dummy/config/environments/test.rb +39 -0
  92. data/test/dummy/config/initializers/assets.rb +8 -0
  93. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  94. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  95. data/test/dummy/config/initializers/devise.rb +259 -0
  96. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  97. data/test/dummy/config/initializers/high_voltage.rb +4 -0
  98. data/test/dummy/config/initializers/inflections.rb +16 -0
  99. data/test/dummy/config/initializers/mime_types.rb +4 -0
  100. data/test/dummy/config/initializers/session_store.rb +3 -0
  101. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  102. data/test/dummy/config/locales/devise.en.yml +60 -0
  103. data/test/dummy/config/locales/en.yml +23 -0
  104. data/test/dummy/config/routes.rb +4 -0
  105. data/test/dummy/config/secrets.yml +22 -0
  106. data/test/dummy/db/development.sqlite3 +0 -0
  107. data/test/dummy/db/migrate/20140814162425_devise_create_users.rb +42 -0
  108. data/test/dummy/db/schema.rb +34 -0
  109. data/test/dummy/log/development.log +85136 -0
  110. data/test/dummy/public/404.html +67 -0
  111. data/test/dummy/public/422.html +67 -0
  112. data/test/dummy/public/500.html +66 -0
  113. data/test/dummy/public/favicon.ico +0 -0
  114. data/test/dummy/test/fixtures/users.yml +11 -0
  115. data/test/dummy/test/models/user_test.rb +7 -0
  116. data/test/integration/navigation_test.rb +10 -0
  117. data/test/leather_test.rb +7 -0
  118. data/test/test_helper.rb +15 -0
  119. metadata +348 -0
@@ -0,0 +1,7 @@
1
+ - id = Time.now.to_f
2
+ %li{ class: "#{active_class(href, options)} dropdown" }
3
+ %a.dropdown-toggle{ id: id, href: href, data: { target: '#', toggle: 'dropdown'} }
4
+ = text
5
+ %b.caret
6
+ %ul.dropdown-menu{ role: 'menu', aria: { labelledby: id } }
7
+ = block
@@ -0,0 +1,4 @@
1
+ .modal.fade{ id: id }
2
+ .modal-dialog
3
+ .modal-content
4
+ = block
@@ -0,0 +1,5 @@
1
+ .modal-header
2
+ %button.close{ data: { dismiss: "modal" }, type: "button" }
3
+ %span{ aria: { hidden: "true" } } ×
4
+ %span.sr-only Close
5
+ %h4.modal-title= title
@@ -0,0 +1,2 @@
1
+ %li{ class: active_class(href, options) }
2
+ = link_to text, href, options
@@ -0,0 +1,2 @@
1
+ %ul.nav.navbar-nav{ html_options }
2
+ = block
@@ -0,0 +1,58 @@
1
+ - container_mode = html_options[:container_mode]
2
+ - html_options[:container_mode] = nil
3
+ - id = SecureRandom.hex(10)
4
+
5
+ - case container_mode
6
+ - when :with
7
+ %nav.navbar{ class: html_options[:class] }
8
+ .container
9
+ .navbar-header
10
+ %button.navbar-toggle{ data: { toggle:'collapse', target:"#navbar-#{id}" }, type: 'button'}
11
+ %span.sr-only
12
+ Toggle navigation
13
+ %span.icon-bar
14
+ %span.icon-bar
15
+ %span.icon-bar
16
+ = link_to title, brand_link, :class => 'navbar-brand'
17
+ .collapse.navbar-collapse{ id: "navbar-#{id}" }
18
+ = block
19
+ - when :fluid
20
+ %nav.navbar{ class: html_options[:class] }
21
+ .container-fluid
22
+ .navbar-header
23
+ %button.navbar-toggle{ data: { toggle:'collapse', target:"#navbar-#{id}" }, type: 'button'}
24
+ %span.sr-only
25
+ Toggle navigation
26
+ %span.icon-bar
27
+ %span.icon-bar
28
+ %span.icon-bar
29
+ = link_to title, brand_link, :class => 'navbar-brand'
30
+ .collapse.navbar-collapse{ id: "navbar-#{id}" }
31
+ = block
32
+ - when :in
33
+ .container
34
+ .row.clearfix
35
+ .column.col-md-12
36
+ %nav.navbar{ class: html_options[:class] }
37
+ .navbar-header
38
+ %button.navbar-toggle{ data: { toggle:'collapse', target:"#navbar-#{id}" }, type: 'button'}
39
+ %span.sr-only
40
+ Toggle navigation
41
+ %span.icon-bar
42
+ %span.icon-bar
43
+ %span.icon-bar
44
+ = link_to title, brand_link, :class => 'navbar-brand'
45
+ .collapse.navbar-collapse{ id: "navbar-#{id}" }
46
+ = block
47
+ - else
48
+ %nav.navbar{ class: html_options[:class] }
49
+ .navbar-header
50
+ %button.navbar-toggle{ data: { toggle:'collapse', target:"#navbar-#{id}" }, type: 'button'}
51
+ %span.sr-only
52
+ Toggle navigation
53
+ %span.icon-bar
54
+ %span.icon-bar
55
+ %span.icon-bar
56
+ = link_to title, brand_link, :class => 'navbar-brand'
57
+ .collapse.navbar-collapse{ id: "navbar-#{id}" }
58
+ = block
@@ -0,0 +1,8 @@
1
+ .nav-menu-header
2
+ = link_to "Leather", main_app.root_url, class: "nav-menu-brand"
3
+ %ul.nav.nav-menu-nav
4
+ %li= link_to "UI Kit", ui_kit_url
5
+ %li= link_to "Components", components_url
6
+ %li{class: ("active" if current_page?(admin_layout_url))}= link_to "Admin Layout", admin_layout_url
7
+ %li{class: ("active" if current_page?(two_column_layout_url))}= link_to "Two Column Layout", two_column_layout_url
8
+ %li{class: ("active" if current_page?(three_column_layout_url))}= link_to "Three Column Layout", three_column_layout_url
@@ -0,0 +1,20 @@
1
+ %nav.nav-menu.nav-menu-default.nav-menu-fixed-left.off-canvas.off-canvas-left-xs#target
2
+ = render 'links'
3
+
4
+ #main
5
+ .scroll-panel
6
+ .scroll-panel-header
7
+ = link_to "#", class: "btn btn-default btn-sm pull-left visible-xs", data: { toggle: "off-canvas", target: "#target" } do
8
+ %i.fa.fa-bars
9
+ = link_to "#", class: "btn btn-primary btn-sm pull-right" do
10
+ %i.fa.fa-plus
11
+ New
12
+ %h3.scroll-panel-title Title
13
+ .scroll-panel-body
14
+ %p Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
15
+
16
+ %p Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
17
+
18
+ %p Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
19
+
20
+ %p Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
@@ -0,0 +1,47 @@
1
+ / = navbar "Leather", page_path("home"), container_mode: :fluid, class: "navbar-default navbar-static-top no-margin" do
2
+ / = nav_list do
3
+ / = nav_item 'UI Kit', leather.ui_kit_path
4
+ / = nav_item 'Components', leather.components_path
5
+ / = dropdown_nav_item 'Layouts', '#' do
6
+ / = nav_item 'Admin', leather.admin_layout_path
7
+ / = nav_item 'Two Column', leather.two_column_layout_path
8
+ / = nav_item 'Three Column', leather.three_column_layout_path
9
+ / = nav_list class: 'navbar-right' do
10
+ / - if user_signed_in?
11
+ / = nav_item 'Sign Out', destroy_user_session_path, method: :delete
12
+ / - else
13
+ / = nav_item 'Sign In', new_user_session_path
14
+ / = nav_item 'Sign Up', new_user_registration_path
15
+
16
+ %nav.nav-menu.nav-menu-default.nav-menu-fixed-left.off-canvas.off-canvas-left-sm#target
17
+ = render 'links'
18
+
19
+ #main
20
+ #left.full-width-xs
21
+ .scroll-panel
22
+ .scroll-panel-header.visible-xs.visible-sm
23
+ = link_to "#", class: "btn btn-default btn-sm pull-left", data: { toggle: "off-canvas", target: "#target" } do
24
+ %i.fa.fa-bars
25
+ = link_to "#", class: "btn btn-primary btn-sm pull-right", data: { toggle: "columns" } do
26
+ %i.fa.fa-plus
27
+ New
28
+ %h3.scroll-panel-title Title
29
+ .scroll-panel-body
30
+ .list-group
31
+ - 10.times do
32
+ = link_to "List Group Item", "#", class: "list-group-item", data: { toggle: "columns" }
33
+
34
+ #right.hidden-xs.full-width-xs
35
+ .scroll-panel
36
+ .scroll-panel-header.visible-xs.visible-sm
37
+ = link_to "#", class: "btn btn-default btn-sm pull-left visible-xs", data: { toggle: "columns" } do
38
+ %i.fa.fa-chevron-left
39
+ %h3.scroll-panel-title Title
40
+ .scroll-panel-body
41
+ %p Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
42
+
43
+ %p Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
44
+
45
+ %p Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
46
+
47
+ %p Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
@@ -0,0 +1,34 @@
1
+ = content_for :extra_body_classes, "container-lg bg-gray-lighter"
2
+
3
+ %nav.nav-menu.nav-menu-default.nav-menu-fixed-left.off-canvas.off-canvas-left#target
4
+ = render 'links'
5
+
6
+ #main.bg-white
7
+ #left.full-width-xs
8
+ .scroll-panel
9
+ .scroll-panel-header
10
+ = link_to "#", class: "btn btn-default btn-sm pull-left", data: { toggle: "off-canvas", target: "#target" } do
11
+ %i.fa.fa-bars
12
+ = link_to "#", class: "btn btn-primary btn-sm pull-right", data: { toggle: "columns" } do
13
+ %i.fa.fa-plus
14
+ New
15
+ %h3.scroll-panel-title Title
16
+ .scroll-panel-body
17
+ .list-group
18
+ - 10.times do
19
+ = link_to "List Group Item", "#", class: "list-group-item", data: { toggle: "columns" }
20
+
21
+ #right.hidden-xs.full-width-xs
22
+ .scroll-panel
23
+ .scroll-panel-header
24
+ = link_to "#", class: "btn btn-default btn-sm pull-left visible-xs", data: { toggle: "columns" } do
25
+ %i.fa.fa-chevron-left
26
+ %h3.scroll-panel-title Title
27
+ .scroll-panel-body
28
+ %p Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
29
+
30
+ %p Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
31
+
32
+ %p Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
33
+
34
+ %p Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
@@ -0,0 +1,7 @@
1
+ Leather::Engine.routes.draw do
2
+ get :ui_kit, to: "application#ui_kit", as: :ui_kit
3
+ get :components, to: "application#components", as: :components
4
+ get "/layouts/admin", to: "layouts#admin", as: :admin_layout
5
+ get "/layouts/two_column", to: "layouts#two_column", as: :two_column_layout
6
+ get "/layouts/three_column", to: "layouts#three_column", as: :three_column_layout
7
+ end
@@ -0,0 +1,29 @@
1
+ module Leather
2
+ class InstallGenerator < Rails::Generators::Base
3
+ source_root File.expand_path('../../../../../templates/', __FILE__)
4
+
5
+ def mount
6
+ route "mount Leather::Engine => '/'"
7
+ end
8
+
9
+ def copy_devise_views
10
+ directory("views/devise", Rails.root.join("app", "views", "devise"))
11
+ end
12
+
13
+ def copy_pages
14
+ directory("views/pages", Rails.root.join("app", "views", "pages"))
15
+ end
16
+
17
+ def copy_navigation
18
+ copy_file("_navigation.html.haml", Rails.root.join("app", "views", "application", "_navigation.html.haml"))
19
+ end
20
+
21
+ def copy_bootstrap_variables
22
+ copy_file("bootstrap_variables.css.scss", Rails.root.join("app", "assets", "stylesheets", "bootstrap_variables.css.scss"))
23
+ end
24
+
25
+ def copy_high_voltage_config
26
+ copy_file("high_voltage.rb", Rails.root.join("config", "initializers", "high_voltage.rb"))
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,12 @@
1
+ require 'devise'
2
+ require 'bootstrap-sass'
3
+ require 'high_voltage'
4
+ require 'haml-rails'
5
+
6
+ require 'leather/engine'
7
+ require 'leather/action_controller_extension'
8
+ require 'leather/railtie'
9
+
10
+ module Leather
11
+ autoload :LeatherHelpers, "leather/leather_helpers"
12
+ end
@@ -0,0 +1,39 @@
1
+ module Leather
2
+ module ActionControllerExtension
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ extend ClassMethods
7
+ helper_method :current_tab, :current_tab? if respond_to?(:helper_method)
8
+ end
9
+
10
+ protected
11
+
12
+ def set_tab(name, namespace = nil)
13
+ tab_stack[namespace || :default] = name
14
+ end
15
+
16
+ def current_tab(namespace = nil)
17
+ tab_stack[namespace || :default]
18
+ end
19
+
20
+ def current_tab?(name, namespace = nil)
21
+ current_tab(namespace).to_s == name.to_s
22
+ end
23
+
24
+ def tab_stack
25
+ @tab_stack ||= {}
26
+ end
27
+
28
+ module ClassMethods
29
+ def set_tab(*args)
30
+ options = args.extract_options!
31
+ name, namespace = args
32
+
33
+ before_action(options) do |controller|
34
+ controller.send(:set_tab, name, namespace)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,9 @@
1
+ module Leather
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace Leather
4
+
5
+ initializer "leather.helpers" do
6
+ ActionView::Base.send :include, Leather::LeatherHelpers
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,58 @@
1
+ module Leather
2
+ module LeatherHelpers
3
+ def active_class(href, options)
4
+ if (options[:nav_id].present? && current_tab?(options[:nav_id][0], options[:nav_id][1])) || current_page?(href)
5
+ 'active'
6
+ else
7
+ ''
8
+ end
9
+ end
10
+
11
+ def modal_toggle(text, id = 'modal', html_options = {})
12
+ link_to text, "##{id}", data: { toggle: "modal" }, class: html_options[:class]
13
+ end
14
+
15
+ def modal(id = 'modal', html_options = {}, &block)
16
+ render partial: 'leather/bootstrap_components/modal', locals: { id: id, block: capture(&block), html_options: html_options }
17
+ end
18
+
19
+ def modal_header(title = '', &block)
20
+ render partial: 'leather/bootstrap_components/modal_header', locals: { title: title }
21
+ end
22
+
23
+ def modal_body(&block)
24
+ render partial: 'leather/bootstrap_components/modal_body', locals: { block: capture(&block) }
25
+ end
26
+
27
+ def modal_footer(&block)
28
+ render partial: 'leather/bootstrap_components/modal_footer', locals: { block: capture(&block) }
29
+ end
30
+
31
+ def navbar(title, brand_link, html_options = {}, &block)
32
+ html_options = { class: "navbar-default" }.merge(html_options)
33
+ render partial: 'leather/bootstrap_components/navbar', locals: { title: title, brand_link: brand_link, block: capture(&block), html_options: html_options }
34
+ end
35
+
36
+ def navbar_with_container(html_options = {}, &block)
37
+ html_options[:container_mode] = :with
38
+ navbar(html_options, &block)
39
+ end
40
+
41
+ def navbar_in_container(html_options = {}, &block)
42
+ html_options[:container_mode] = :in
43
+ navbar(html_options, &block)
44
+ end
45
+
46
+ def nav_list(html_options = {}, &block)
47
+ render partial: 'leather/bootstrap_components/nav_list', locals: { block: capture(&block), html_options: html_options }
48
+ end
49
+
50
+ def nav_item(text, href, options = {})
51
+ render partial: 'leather/bootstrap_components/nav_item', locals: { text: text, href: href, options: options }
52
+ end
53
+
54
+ def dropdown_nav_item(text, href, options = {}, &block)
55
+ render partial: 'leather/bootstrap_components/dropdown_nav_item', locals: { block: capture(&block), text: text, href: href, options: options }
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,12 @@
1
+ module Leather
2
+
3
+ class Railtie < Rails::Railtie
4
+ initializer "leather.initialize" do
5
+ end
6
+ end
7
+
8
+ end
9
+
10
+ ActiveSupport.on_load(:action_controller) do
11
+ include Leather::ActionControllerExtension
12
+ end
@@ -0,0 +1,3 @@
1
+ module Leather
2
+ VERSION = "3.5.3"
3
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :leather do
3
+ # # Task goes here
4
+ # end
@@ -0,0 +1,14 @@
1
+ = navbar "Leather", page_path("home"), container_mode: :with, class: "navbar-default navbar-static-top no-margin" do
2
+ = nav_list do
3
+ = nav_item 'UI Kit', leather.ui_kit_path
4
+ = nav_item 'Components', leather.components_path
5
+ = dropdown_nav_item 'Layouts', '#' do
6
+ = nav_item 'Admin', leather.admin_layout_path
7
+ = nav_item 'Two Column', leather.two_column_layout_path
8
+ = nav_item 'Three Column', leather.three_column_layout_path
9
+ = nav_list class: 'navbar-right' do
10
+ - if user_signed_in?
11
+ = nav_item 'Sign Out', destroy_user_session_path, method: :delete
12
+ - else
13
+ = nav_item 'Sign In', new_user_session_path
14
+ = nav_item 'Sign Up', new_user_registration_path
@@ -0,0 +1,848 @@
1
+ // // a flag to toggle asset pipeline / compass integration
2
+ // // defaults to true if twbs-font-path function is present (no function => twbs-font-path('') parsed as string == right side)
3
+ // // in Sass 3.3 this can be improved with: function-exists(twbs-font-path)
4
+ // $bootstrap-sass-asset-helper: (twbs-font-path("") != unquote('twbs-font-path("")')) !default;
5
+ // //
6
+ // // Variables
7
+ // // --------------------------------------------------
8
+ //
9
+ //
10
+ // //== Colors
11
+ // //
12
+ // //## Gray and brand colors for use across Bootstrap.
13
+ //
14
+ // $gray-darker: lighten(#000, 13.5%) !default; // #222
15
+ // $gray-dark: lighten(#000, 20%) !default; // #333
16
+ // $gray: lighten(#000, 33.5%) !default; // #555
17
+ // $gray-light: lighten(#000, 46.7%) !default; // #777
18
+ // $gray-lighter: lighten(#000, 93.5%) !default; // #eee
19
+ //
20
+ // $brand-primary: #428bca !default;
21
+ // $brand-success: #5cb85c !default;
22
+ // $brand-info: #5bc0de !default;
23
+ // $brand-warning: #f0ad4e !default;
24
+ // $brand-danger: #d9534f !default;
25
+ //
26
+ //
27
+ // //== Scaffolding
28
+ // //
29
+ // //## Settings for some of the most global styles.
30
+ //
31
+ // //** Background color for `<body>`.
32
+ // $body-bg: #fff !default;
33
+ // //** Global text color on `<body>`.
34
+ // $text-color: $gray-dark !default;
35
+ //
36
+ // //** Global textual link color.
37
+ // $link-color: $brand-primary !default;
38
+ // //** Link hover color set via `darken()` function.
39
+ // $link-hover-color: darken($link-color, 15%) !default;
40
+ //
41
+ //
42
+ // //== Typography
43
+ // //
44
+ // //## Font, line-height, and color for body text, headings, and more.
45
+ //
46
+ // $font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif !default;
47
+ // $font-family-serif: Georgia, "Times New Roman", Times, serif !default;
48
+ // //** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
49
+ // $font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace !default;
50
+ // $font-family-base: $font-family-sans-serif !default;
51
+ //
52
+ // $font-size-base: 14px !default;
53
+ // $font-size-large: ceil(($font-size-base * 1.25)) !default; // ~18px
54
+ // $font-size-small: ceil(($font-size-base * 0.85)) !default; // ~12px
55
+ //
56
+ // $font-size-h1: floor(($font-size-base * 2.6)) !default; // ~36px
57
+ // $font-size-h2: floor(($font-size-base * 2.15)) !default; // ~30px
58
+ // $font-size-h3: ceil(($font-size-base * 1.7)) !default; // ~24px
59
+ // $font-size-h4: ceil(($font-size-base * 1.25)) !default; // ~18px
60
+ // $font-size-h5: $font-size-base !default;
61
+ // $font-size-h6: ceil(($font-size-base * 0.85)) !default; // ~12px
62
+ //
63
+ // //** Unit-less `line-height` for use in components like buttons.
64
+ // $line-height-base: 1.428571429 !default; // 20/14
65
+ // //** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
66
+ // $line-height-computed: floor(($font-size-base * $line-height-base)) !default; // ~20px
67
+ //
68
+ // //** By default, this inherits from the `<body>`.
69
+ // $headings-font-family: inherit !default;
70
+ // $headings-font-weight: 500 !default;
71
+ // $headings-line-height: 1.1 !default;
72
+ // $headings-color: inherit !default;
73
+ //
74
+ //
75
+ // //== Iconography
76
+ // //
77
+ // //## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
78
+ //
79
+ // //** Load fonts from this directory.
80
+ // $icon-font-path: "bootstrap/" !default;
81
+ // //** File name for all font files.
82
+ // $icon-font-name: "glyphicons-halflings-regular" !default;
83
+ // //** Element ID within SVG icon file.
84
+ // $icon-font-svg-id: "glyphicons_halflingsregular" !default;
85
+ //
86
+ //
87
+ // //== Components
88
+ // //
89
+ // //## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
90
+ //
91
+ // $padding-base-vertical: 6px !default;
92
+ // $padding-base-horizontal: 12px !default;
93
+ //
94
+ // $padding-large-vertical: 10px !default;
95
+ // $padding-large-horizontal: 16px !default;
96
+ //
97
+ // $padding-small-vertical: 5px !default;
98
+ // $padding-small-horizontal: 10px !default;
99
+ //
100
+ // $padding-xs-vertical: 1px !default;
101
+ // $padding-xs-horizontal: 5px !default;
102
+ //
103
+ // $line-height-large: 1.33 !default;
104
+ // $line-height-small: 1.5 !default;
105
+ //
106
+ // $border-radius-base: 4px !default;
107
+ // $border-radius-large: 6px !default;
108
+ // $border-radius-small: 3px !default;
109
+ //
110
+ // //** Global color for active items (e.g., navs or dropdowns).
111
+ // $component-active-color: #fff !default;
112
+ // //** Global background color for active items (e.g., navs or dropdowns).
113
+ // $component-active-bg: $brand-primary !default;
114
+ //
115
+ // //** Width of the `border` for generating carets that indicator dropdowns.
116
+ // $caret-width-base: 4px !default;
117
+ // //** Carets increase slightly in size for larger components.
118
+ // $caret-width-large: 5px !default;
119
+ //
120
+ //
121
+ // //== Tables
122
+ // //
123
+ // //## Customizes the `.table` component with basic values, each used across all table variations.
124
+ //
125
+ // //** Padding for `<th>`s and `<td>`s.
126
+ // $table-cell-padding: 8px !default;
127
+ // //** Padding for cells in `.table-condensed`.
128
+ // $table-condensed-cell-padding: 5px !default;
129
+ //
130
+ // //** Default background color used for all tables.
131
+ // $table-bg: transparent !default;
132
+ // //** Background color used for `.table-striped`.
133
+ // $table-bg-accent: #f9f9f9 !default;
134
+ // //** Background color used for `.table-hover`.
135
+ // $table-bg-hover: #f5f5f5 !default;
136
+ // $table-bg-active: $table-bg-hover !default;
137
+ //
138
+ // //** Border color for table and cell borders.
139
+ // $table-border-color: #ddd !default;
140
+ //
141
+ //
142
+ // //== Buttons
143
+ // //
144
+ // //## For each of Bootstrap's buttons, define text, background and border color.
145
+ //
146
+ // $btn-font-weight: normal !default;
147
+ //
148
+ // $btn-default-color: #333 !default;
149
+ // $btn-default-bg: #fff !default;
150
+ // $btn-default-border: #ccc !default;
151
+ //
152
+ // $btn-primary-color: #fff !default;
153
+ // $btn-primary-bg: $brand-primary !default;
154
+ // $btn-primary-border: darken($btn-primary-bg, 5%) !default;
155
+ //
156
+ // $btn-success-color: #fff !default;
157
+ // $btn-success-bg: $brand-success !default;
158
+ // $btn-success-border: darken($btn-success-bg, 5%) !default;
159
+ //
160
+ // $btn-info-color: #fff !default;
161
+ // $btn-info-bg: $brand-info !default;
162
+ // $btn-info-border: darken($btn-info-bg, 5%) !default;
163
+ //
164
+ // $btn-warning-color: #fff !default;
165
+ // $btn-warning-bg: $brand-warning !default;
166
+ // $btn-warning-border: darken($btn-warning-bg, 5%) !default;
167
+ //
168
+ // $btn-danger-color: #fff !default;
169
+ // $btn-danger-bg: $brand-danger !default;
170
+ // $btn-danger-border: darken($btn-danger-bg, 5%) !default;
171
+ //
172
+ // $btn-link-disabled-color: $gray-light !default;
173
+ //
174
+ //
175
+ // //== Forms
176
+ // //
177
+ // //##
178
+ //
179
+ // //** `<input>` background color
180
+ // $input-bg: #fff !default;
181
+ // //** `<input disabled>` background color
182
+ // $input-bg-disabled: $gray-lighter !default;
183
+ //
184
+ // //** Text color for `<input>`s
185
+ // $input-color: $gray !default;
186
+ // //** `<input>` border color
187
+ // $input-border: #ccc !default;
188
+ // //** `<input>` border radius
189
+ // $input-border-radius: $border-radius-base !default;
190
+ // //** Border color for inputs on focus
191
+ // $input-border-focus: #66afe9 !default;
192
+ //
193
+ // //** Placeholder text color
194
+ // $input-color-placeholder: $gray-light !default;
195
+ //
196
+ // //** Default `.form-control` height
197
+ // $input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;
198
+ // //** Large `.form-control` height
199
+ // $input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;
200
+ // //** Small `.form-control` height
201
+ // $input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;
202
+ //
203
+ // $legend-color: $gray-dark !default;
204
+ // $legend-border-color: #e5e5e5 !default;
205
+ //
206
+ // //** Background color for textual input addons
207
+ // $input-group-addon-bg: $gray-lighter !default;
208
+ // //** Border color for textual input addons
209
+ // $input-group-addon-border-color: $input-border !default;
210
+ //
211
+ //
212
+ // //== Dropdowns
213
+ // //
214
+ // //## Dropdown menu container and contents.
215
+ //
216
+ // //** Background for the dropdown menu.
217
+ // $dropdown-bg: #fff !default;
218
+ // //** Dropdown menu `border-color`.
219
+ // $dropdown-border: rgba(0,0,0,.15) !default;
220
+ // //** Dropdown menu `border-color` **for IE8**.
221
+ // $dropdown-fallback-border: #ccc !default;
222
+ // //** Divider color for between dropdown items.
223
+ // $dropdown-divider-bg: #e5e5e5 !default;
224
+ //
225
+ // //** Dropdown link text color.
226
+ // $dropdown-link-color: $gray-dark !default;
227
+ // //** Hover color for dropdown links.
228
+ // $dropdown-link-hover-color: darken($gray-dark, 5%) !default;
229
+ // //** Hover background for dropdown links.
230
+ // $dropdown-link-hover-bg: #f5f5f5 !default;
231
+ //
232
+ // //** Active dropdown menu item text color.
233
+ // $dropdown-link-active-color: $component-active-color !default;
234
+ // //** Active dropdown menu item background color.
235
+ // $dropdown-link-active-bg: $component-active-bg !default;
236
+ //
237
+ // //** Disabled dropdown menu item background color.
238
+ // $dropdown-link-disabled-color: $gray-light !default;
239
+ //
240
+ // //** Text color for headers within dropdown menus.
241
+ // $dropdown-header-color: $gray-light !default;
242
+ //
243
+ // //** Deprecated `$dropdown-caret-color` as of v3.1.0
244
+ // $dropdown-caret-color: #000 !default;
245
+ //
246
+ //
247
+ // //-- Z-index master list
248
+ // //
249
+ // // Warning: Avoid customizing these values. They're used for a bird's eye view
250
+ // // of components dependent on the z-axis and are designed to all work together.
251
+ // //
252
+ // // Note: These variables are not generated into the Customizer.
253
+ //
254
+ // $zindex-navbar: 1000 !default;
255
+ // $zindex-dropdown: 1000 !default;
256
+ // $zindex-popover: 1060 !default;
257
+ // $zindex-tooltip: 1070 !default;
258
+ // $zindex-navbar-fixed: 1030 !default;
259
+ // $zindex-modal-background: 1040 !default;
260
+ // $zindex-modal: 1050 !default;
261
+ //
262
+ //
263
+ // //== Media queries breakpoints
264
+ // //
265
+ // //## Define the breakpoints at which your layout will change, adapting to different screen sizes.
266
+ //
267
+ // // Extra small screen / phone
268
+ // //** Deprecated `$screen-xs` as of v3.0.1
269
+ // $screen-xs: 480px !default;
270
+ // //** Deprecated `$screen-xs-min` as of v3.2.0
271
+ // $screen-xs-min: $screen-xs !default;
272
+ // //** Deprecated `$screen-phone` as of v3.0.1
273
+ // $screen-phone: $screen-xs-min !default;
274
+ //
275
+ // // Small screen / tablet
276
+ // //** Deprecated `$screen-sm` as of v3.0.1
277
+ // $screen-sm: 768px !default;
278
+ // $screen-sm-min: $screen-sm !default;
279
+ // //** Deprecated `$screen-tablet` as of v3.0.1
280
+ // $screen-tablet: $screen-sm-min !default;
281
+ //
282
+ // // Medium screen / desktop
283
+ // //** Deprecated `$screen-md` as of v3.0.1
284
+ // $screen-md: 992px !default;
285
+ // $screen-md-min: $screen-md !default;
286
+ // //** Deprecated `$screen-desktop` as of v3.0.1
287
+ // $screen-desktop: $screen-md-min !default;
288
+ //
289
+ // // Large screen / wide desktop
290
+ // //** Deprecated `$screen-lg` as of v3.0.1
291
+ // $screen-lg: 1200px !default;
292
+ // $screen-lg-min: $screen-lg !default;
293
+ // //** Deprecated `$screen-lg-desktop` as of v3.0.1
294
+ // $screen-lg-desktop: $screen-lg-min !default;
295
+ //
296
+ // // So media queries don't overlap when required, provide a maximum
297
+ // $screen-xs-max: ($screen-sm-min - 1) !default;
298
+ // $screen-sm-max: ($screen-md-min - 1) !default;
299
+ // $screen-md-max: ($screen-lg-min - 1) !default;
300
+ //
301
+ //
302
+ // //== Grid system
303
+ // //
304
+ // //## Define your custom responsive grid.
305
+ //
306
+ // //** Number of columns in the grid.
307
+ // $grid-columns: 12 !default;
308
+ // //** Padding between columns. Gets divided in half for the left and right.
309
+ // $grid-gutter-width: 30px !default;
310
+ // // Navbar collapse
311
+ // //** Point at which the navbar becomes uncollapsed.
312
+ // $grid-float-breakpoint: $screen-sm-min !default;
313
+ // //** Point at which the navbar begins collapsing.
314
+ // $grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;
315
+ //
316
+ //
317
+ // //== Container sizes
318
+ // //
319
+ // //## Define the maximum width of `.container` for different screen sizes.
320
+ //
321
+ // // Small screen / tablet
322
+ // $container-tablet: ((720px + $grid-gutter-width)) !default;
323
+ // //** For `$screen-sm-min` and up.
324
+ // $container-sm: $container-tablet !default;
325
+ //
326
+ // // Medium screen / desktop
327
+ // $container-desktop: ((940px + $grid-gutter-width)) !default;
328
+ // //** For `$screen-md-min` and up.
329
+ // $container-md: $container-desktop !default;
330
+ //
331
+ // // Large screen / wide desktop
332
+ // $container-large-desktop: ((1140px + $grid-gutter-width)) !default;
333
+ // //** For `$screen-lg-min` and up.
334
+ // $container-lg: $container-large-desktop !default;
335
+ //
336
+ //
337
+ // //== Navbar
338
+ // //
339
+ // //##
340
+ //
341
+ // // Basics of a navbar
342
+ // $navbar-height: 50px !default;
343
+ // $navbar-margin-bottom: $line-height-computed !default;
344
+ // $navbar-border-radius: $border-radius-base !default;
345
+ // $navbar-padding-horizontal: floor(($grid-gutter-width / 2)) !default;
346
+ // $navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) !default;
347
+ // $navbar-collapse-max-height: 340px !default;
348
+ //
349
+ // $navbar-default-color: #777 !default;
350
+ // $navbar-default-bg: #f8f8f8 !default;
351
+ // $navbar-default-border: darken($navbar-default-bg, 6.5%) !default;
352
+ //
353
+ // // Navbar links
354
+ // $navbar-default-link-color: #777 !default;
355
+ // $navbar-default-link-hover-color: #333 !default;
356
+ // $navbar-default-link-hover-bg: transparent !default;
357
+ // $navbar-default-link-active-color: #555 !default;
358
+ // $navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%) !default;
359
+ // $navbar-default-link-disabled-color: #ccc !default;
360
+ // $navbar-default-link-disabled-bg: transparent !default;
361
+ //
362
+ // // Navbar brand label
363
+ // $navbar-default-brand-color: $navbar-default-link-color !default;
364
+ // $navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%) !default;
365
+ // $navbar-default-brand-hover-bg: transparent !default;
366
+ //
367
+ // // Navbar toggle
368
+ // $navbar-default-toggle-hover-bg: #ddd !default;
369
+ // $navbar-default-toggle-icon-bar-bg: #888 !default;
370
+ // $navbar-default-toggle-border-color: #ddd !default;
371
+ //
372
+ //
373
+ // // Inverted navbar
374
+ // // Reset inverted navbar basics
375
+ // $navbar-inverse-color: $gray-light !default;
376
+ // $navbar-inverse-bg: #222 !default;
377
+ // $navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default;
378
+ //
379
+ // // Inverted navbar links
380
+ // $navbar-inverse-link-color: $gray-light !default;
381
+ // $navbar-inverse-link-hover-color: #fff !default;
382
+ // $navbar-inverse-link-hover-bg: transparent !default;
383
+ // $navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default;
384
+ // $navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) !default;
385
+ // $navbar-inverse-link-disabled-color: #444 !default;
386
+ // $navbar-inverse-link-disabled-bg: transparent !default;
387
+ //
388
+ // // Inverted navbar brand label
389
+ // $navbar-inverse-brand-color: $navbar-inverse-link-color !default;
390
+ // $navbar-inverse-brand-hover-color: #fff !default;
391
+ // $navbar-inverse-brand-hover-bg: transparent !default;
392
+ //
393
+ // // Inverted navbar toggle
394
+ // $navbar-inverse-toggle-hover-bg: #333 !default;
395
+ // $navbar-inverse-toggle-icon-bar-bg: #fff !default;
396
+ // $navbar-inverse-toggle-border-color: #333 !default;
397
+ //
398
+ //
399
+ // //== Navs
400
+ // //
401
+ // //##
402
+ //
403
+ // //=== Shared nav styles
404
+ // $nav-link-padding: 10px 15px !default;
405
+ // $nav-link-hover-bg: $gray-lighter !default;
406
+ //
407
+ // $nav-disabled-link-color: $gray-light !default;
408
+ // $nav-disabled-link-hover-color: $gray-light !default;
409
+ //
410
+ // $nav-open-link-hover-color: #fff !default;
411
+ //
412
+ // //== Tabs
413
+ // $nav-tabs-border-color: #ddd !default;
414
+ //
415
+ // $nav-tabs-link-hover-border-color: $gray-lighter !default;
416
+ //
417
+ // $nav-tabs-active-link-hover-bg: $body-bg !default;
418
+ // $nav-tabs-active-link-hover-color: $gray !default;
419
+ // $nav-tabs-active-link-hover-border-color: #ddd !default;
420
+ //
421
+ // $nav-tabs-justified-link-border-color: #ddd !default;
422
+ // $nav-tabs-justified-active-link-border-color: $body-bg !default;
423
+ //
424
+ // //== Pills
425
+ // $nav-pills-border-radius: $border-radius-base !default;
426
+ // $nav-pills-active-link-hover-bg: $component-active-bg !default;
427
+ // $nav-pills-active-link-hover-color: $component-active-color !default;
428
+ //
429
+ //
430
+ // //== Pagination
431
+ // //
432
+ // //##
433
+ //
434
+ // $pagination-color: $link-color !default;
435
+ // $pagination-bg: #fff !default;
436
+ // $pagination-border: #ddd !default;
437
+ //
438
+ // $pagination-hover-color: $link-hover-color !default;
439
+ // $pagination-hover-bg: $gray-lighter !default;
440
+ // $pagination-hover-border: #ddd !default;
441
+ //
442
+ // $pagination-active-color: #fff !default;
443
+ // $pagination-active-bg: $brand-primary !default;
444
+ // $pagination-active-border: $brand-primary !default;
445
+ //
446
+ // $pagination-disabled-color: $gray-light !default;
447
+ // $pagination-disabled-bg: #fff !default;
448
+ // $pagination-disabled-border: #ddd !default;
449
+ //
450
+ //
451
+ // //== Pager
452
+ // //
453
+ // //##
454
+ //
455
+ // $pager-bg: $pagination-bg !default;
456
+ // $pager-border: $pagination-border !default;
457
+ // $pager-border-radius: 15px !default;
458
+ //
459
+ // $pager-hover-bg: $pagination-hover-bg !default;
460
+ //
461
+ // $pager-active-bg: $pagination-active-bg !default;
462
+ // $pager-active-color: $pagination-active-color !default;
463
+ //
464
+ // $pager-disabled-color: $pagination-disabled-color !default;
465
+ //
466
+ //
467
+ // //== Jumbotron
468
+ // //
469
+ // //##
470
+ //
471
+ // $jumbotron-padding: 30px !default;
472
+ // $jumbotron-color: inherit !default;
473
+ // $jumbotron-bg: $gray-lighter !default;
474
+ // $jumbotron-heading-color: inherit !default;
475
+ // $jumbotron-font-size: ceil(($font-size-base * 1.5)) !default;
476
+ //
477
+ //
478
+ // //== Form states and alerts
479
+ // //
480
+ // //## Define colors for form feedback states and, by default, alerts.
481
+ //
482
+ // $state-success-text: #3c763d !default;
483
+ // $state-success-bg: #dff0d8 !default;
484
+ // $state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) !default;
485
+ //
486
+ // $state-info-text: #31708f !default;
487
+ // $state-info-bg: #d9edf7 !default;
488
+ // $state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) !default;
489
+ //
490
+ // $state-warning-text: #8a6d3b !default;
491
+ // $state-warning-bg: #fcf8e3 !default;
492
+ // $state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%) !default;
493
+ //
494
+ // $state-danger-text: #a94442 !default;
495
+ // $state-danger-bg: #f2dede !default;
496
+ // $state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) !default;
497
+ //
498
+ //
499
+ // //== Tooltips
500
+ // //
501
+ // //##
502
+ //
503
+ // //** Tooltip max width
504
+ // $tooltip-max-width: 200px !default;
505
+ // //** Tooltip text color
506
+ // $tooltip-color: #fff !default;
507
+ // //** Tooltip background color
508
+ // $tooltip-bg: #000 !default;
509
+ // $tooltip-opacity: .9 !default;
510
+ //
511
+ // //** Tooltip arrow width
512
+ // $tooltip-arrow-width: 5px !default;
513
+ // //** Tooltip arrow color
514
+ // $tooltip-arrow-color: $tooltip-bg !default;
515
+ //
516
+ //
517
+ // //== Popovers
518
+ // //
519
+ // //##
520
+ //
521
+ // //** Popover body background color
522
+ // $popover-bg: #fff !default;
523
+ // //** Popover maximum width
524
+ // $popover-max-width: 276px !default;
525
+ // //** Popover border color
526
+ // $popover-border-color: rgba(0,0,0,.2) !default;
527
+ // //** Popover fallback border color
528
+ // $popover-fallback-border-color: #ccc !default;
529
+ //
530
+ // //** Popover title background color
531
+ // $popover-title-bg: darken($popover-bg, 3%) !default;
532
+ //
533
+ // //** Popover arrow width
534
+ // $popover-arrow-width: 10px !default;
535
+ // //** Popover arrow color
536
+ // $popover-arrow-color: #fff !default;
537
+ //
538
+ // //** Popover outer arrow width
539
+ // $popover-arrow-outer-width: ($popover-arrow-width + 1) !default;
540
+ // //** Popover outer arrow color
541
+ // $popover-arrow-outer-color: fade_in($popover-border-color, 0.05) !default;
542
+ // //** Popover outer arrow fallback color
543
+ // $popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%) !default;
544
+ //
545
+ //
546
+ // //== Labels
547
+ // //
548
+ // //##
549
+ //
550
+ // //** Default label background color
551
+ // $label-default-bg: $gray-light !default;
552
+ // //** Primary label background color
553
+ // $label-primary-bg: $brand-primary !default;
554
+ // //** Success label background color
555
+ // $label-success-bg: $brand-success !default;
556
+ // //** Info label background color
557
+ // $label-info-bg: $brand-info !default;
558
+ // //** Warning label background color
559
+ // $label-warning-bg: $brand-warning !default;
560
+ // //** Danger label background color
561
+ // $label-danger-bg: $brand-danger !default;
562
+ //
563
+ // //** Default label text color
564
+ // $label-color: #fff !default;
565
+ // //** Default text color of a linked label
566
+ // $label-link-hover-color: #fff !default;
567
+ //
568
+ //
569
+ // //== Modals
570
+ // //
571
+ // //##
572
+ //
573
+ // //** Padding applied to the modal body
574
+ // $modal-inner-padding: 15px !default;
575
+ //
576
+ // //** Padding applied to the modal title
577
+ // $modal-title-padding: 15px !default;
578
+ // //** Modal title line-height
579
+ // $modal-title-line-height: $line-height-base !default;
580
+ //
581
+ // //** Background color of modal content area
582
+ // $modal-content-bg: #fff !default;
583
+ // //** Modal content border color
584
+ // $modal-content-border-color: rgba(0,0,0,.2) !default;
585
+ // //** Modal content border color **for IE8**
586
+ // $modal-content-fallback-border-color: #999 !default;
587
+ //
588
+ // //** Modal backdrop background color
589
+ // $modal-backdrop-bg: #000 !default;
590
+ // //** Modal backdrop opacity
591
+ // $modal-backdrop-opacity: .5 !default;
592
+ // //** Modal header border color
593
+ // $modal-header-border-color: #e5e5e5 !default;
594
+ // //** Modal footer border color
595
+ // $modal-footer-border-color: $modal-header-border-color !default;
596
+ //
597
+ // $modal-lg: 900px !default;
598
+ // $modal-md: 600px !default;
599
+ // $modal-sm: 300px !default;
600
+ //
601
+ //
602
+ // //== Alerts
603
+ // //
604
+ // //## Define alert colors, border radius, and padding.
605
+ //
606
+ // $alert-padding: 15px !default;
607
+ // $alert-border-radius: $border-radius-base !default;
608
+ // $alert-link-font-weight: bold !default;
609
+ //
610
+ // $alert-success-bg: $state-success-bg !default;
611
+ // $alert-success-text: $state-success-text !default;
612
+ // $alert-success-border: $state-success-border !default;
613
+ //
614
+ // $alert-info-bg: $state-info-bg !default;
615
+ // $alert-info-text: $state-info-text !default;
616
+ // $alert-info-border: $state-info-border !default;
617
+ //
618
+ // $alert-warning-bg: $state-warning-bg !default;
619
+ // $alert-warning-text: $state-warning-text !default;
620
+ // $alert-warning-border: $state-warning-border !default;
621
+ //
622
+ // $alert-danger-bg: $state-danger-bg !default;
623
+ // $alert-danger-text: $state-danger-text !default;
624
+ // $alert-danger-border: $state-danger-border !default;
625
+ //
626
+ //
627
+ // //== Progress bars
628
+ // //
629
+ // //##
630
+ //
631
+ // //** Background color of the whole progress component
632
+ // $progress-bg: #f5f5f5 !default;
633
+ // //** Progress bar text color
634
+ // $progress-bar-color: #fff !default;
635
+ //
636
+ // //** Default progress bar color
637
+ // $progress-bar-bg: $brand-primary !default;
638
+ // //** Success progress bar color
639
+ // $progress-bar-success-bg: $brand-success !default;
640
+ // //** Warning progress bar color
641
+ // $progress-bar-warning-bg: $brand-warning !default;
642
+ // //** Danger progress bar color
643
+ // $progress-bar-danger-bg: $brand-danger !default;
644
+ // //** Info progress bar color
645
+ // $progress-bar-info-bg: $brand-info !default;
646
+ //
647
+ //
648
+ // //== List group
649
+ // //
650
+ // //##
651
+ //
652
+ // //** Background color on `.list-group-item`
653
+ // $list-group-bg: #fff !default;
654
+ // //** `.list-group-item` border color
655
+ // $list-group-border: #ddd !default;
656
+ // //** List group border radius
657
+ // $list-group-border-radius: $border-radius-base !default;
658
+ //
659
+ // //** Background color of single list items on hover
660
+ // $list-group-hover-bg: #f5f5f5 !default;
661
+ // //** Text color of active list items
662
+ // $list-group-active-color: $component-active-color !default;
663
+ // //** Background color of active list items
664
+ // $list-group-active-bg: $component-active-bg !default;
665
+ // //** Border color of active list elements
666
+ // $list-group-active-border: $list-group-active-bg !default;
667
+ // //** Text color for content within active list items
668
+ // $list-group-active-text-color: lighten($list-group-active-bg, 40%) !default;
669
+ //
670
+ // //** Text color of disabled list items
671
+ // $list-group-disabled-color: $gray-light !default;
672
+ // //** Background color of disabled list items
673
+ // $list-group-disabled-bg: $gray-lighter !default;
674
+ // //** Text color for content within disabled list items
675
+ // $list-group-disabled-text-color: $list-group-disabled-color !default;
676
+ //
677
+ // $list-group-link-color: #555 !default;
678
+ // $list-group-link-hover-color: $list-group-link-color !default;
679
+ // $list-group-link-heading-color: #333 !default;
680
+ //
681
+ //
682
+ // //== Panels
683
+ // //
684
+ // //##
685
+ //
686
+ // $panel-bg: #fff !default;
687
+ // $panel-body-padding: 15px !default;
688
+ // $panel-heading-padding: 10px 15px !default;
689
+ // $panel-footer-padding: $panel-heading-padding !default;
690
+ // $panel-border-radius: $border-radius-base !default;
691
+ //
692
+ // //** Border color for elements within panels
693
+ // $panel-inner-border: #ddd !default;
694
+ // $panel-footer-bg: #f5f5f5 !default;
695
+ //
696
+ // $panel-default-text: $gray-dark !default;
697
+ // $panel-default-border: #ddd !default;
698
+ // $panel-default-heading-bg: #f5f5f5 !default;
699
+ //
700
+ // $panel-primary-text: #fff !default;
701
+ // $panel-primary-border: $brand-primary !default;
702
+ // $panel-primary-heading-bg: $brand-primary !default;
703
+ //
704
+ // $panel-success-text: $state-success-text !default;
705
+ // $panel-success-border: $state-success-border !default;
706
+ // $panel-success-heading-bg: $state-success-bg !default;
707
+ //
708
+ // $panel-info-text: $state-info-text !default;
709
+ // $panel-info-border: $state-info-border !default;
710
+ // $panel-info-heading-bg: $state-info-bg !default;
711
+ //
712
+ // $panel-warning-text: $state-warning-text !default;
713
+ // $panel-warning-border: $state-warning-border !default;
714
+ // $panel-warning-heading-bg: $state-warning-bg !default;
715
+ //
716
+ // $panel-danger-text: $state-danger-text !default;
717
+ // $panel-danger-border: $state-danger-border !default;
718
+ // $panel-danger-heading-bg: $state-danger-bg !default;
719
+ //
720
+ //
721
+ // //== Thumbnails
722
+ // //
723
+ // //##
724
+ //
725
+ // //** Padding around the thumbnail image
726
+ // $thumbnail-padding: 4px !default;
727
+ // //** Thumbnail background color
728
+ // $thumbnail-bg: $body-bg !default;
729
+ // //** Thumbnail border color
730
+ // $thumbnail-border: #ddd !default;
731
+ // //** Thumbnail border radius
732
+ // $thumbnail-border-radius: $border-radius-base !default;
733
+ //
734
+ // //** Custom text color for thumbnail captions
735
+ // $thumbnail-caption-color: $text-color !default;
736
+ // //** Padding around the thumbnail caption
737
+ // $thumbnail-caption-padding: 9px !default;
738
+ //
739
+ //
740
+ // //== Wells
741
+ // //
742
+ // //##
743
+ //
744
+ // $well-bg: #f5f5f5 !default;
745
+ // $well-border: darken($well-bg, 7%) !default;
746
+ //
747
+ //
748
+ // //== Badges
749
+ // //
750
+ // //##
751
+ //
752
+ // $badge-color: #fff !default;
753
+ // //** Linked badge text color on hover
754
+ // $badge-link-hover-color: #fff !default;
755
+ // $badge-bg: $gray-light !default;
756
+ //
757
+ // //** Badge text color in active nav link
758
+ // $badge-active-color: $link-color !default;
759
+ // //** Badge background color in active nav link
760
+ // $badge-active-bg: #fff !default;
761
+ //
762
+ // $badge-font-weight: bold !default;
763
+ // $badge-line-height: 1 !default;
764
+ // $badge-border-radius: 10px !default;
765
+ //
766
+ //
767
+ // //== Breadcrumbs
768
+ // //
769
+ // //##
770
+ //
771
+ // $breadcrumb-padding-vertical: 8px !default;
772
+ // $breadcrumb-padding-horizontal: 15px !default;
773
+ // //** Breadcrumb background color
774
+ // $breadcrumb-bg: #f5f5f5 !default;
775
+ // //** Breadcrumb text color
776
+ // $breadcrumb-color: #ccc !default;
777
+ // //** Text color of current page in the breadcrumb
778
+ // $breadcrumb-active-color: $gray-light !default;
779
+ // //** Textual separator for between breadcrumb elements
780
+ // $breadcrumb-separator: "/" !default;
781
+ //
782
+ //
783
+ // //== Carousel
784
+ // //
785
+ // //##
786
+ //
787
+ // $carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;
788
+ //
789
+ // $carousel-control-color: #fff !default;
790
+ // $carousel-control-width: 15% !default;
791
+ // $carousel-control-opacity: .5 !default;
792
+ // $carousel-control-font-size: 20px !default;
793
+ //
794
+ // $carousel-indicator-active-bg: #fff !default;
795
+ // $carousel-indicator-border-color: #fff !default;
796
+ //
797
+ // $carousel-caption-color: #fff !default;
798
+ //
799
+ //
800
+ // //== Close
801
+ // //
802
+ // //##
803
+ //
804
+ // $close-font-weight: bold !default;
805
+ // $close-color: #000 !default;
806
+ // $close-text-shadow: 0 1px 0 #fff !default;
807
+ //
808
+ //
809
+ // //== Code
810
+ // //
811
+ // //##
812
+ //
813
+ // $code-color: #c7254e !default;
814
+ // $code-bg: #f9f2f4 !default;
815
+ //
816
+ // $kbd-color: #fff !default;
817
+ // $kbd-bg: #333 !default;
818
+ //
819
+ // $pre-bg: #f5f5f5 !default;
820
+ // $pre-color: $gray-dark !default;
821
+ // $pre-border-color: #ccc !default;
822
+ // $pre-scrollable-max-height: 340px !default;
823
+ //
824
+ //
825
+ // //== Type
826
+ // //
827
+ // //##
828
+ //
829
+ // //** Horizontal offset for forms and lists.
830
+ // $component-offset-horizontal: 180px !default;
831
+ // //** Text muted color
832
+ // $text-muted: $gray-light !default;
833
+ // //** Abbreviations and acronyms border color
834
+ // $abbr-border-color: $gray-light !default;
835
+ // //** Headings small color
836
+ // $headings-small-color: $gray-light !default;
837
+ // //** Blockquote small color
838
+ // $blockquote-small-color: $gray-light !default;
839
+ // //** Blockquote font size
840
+ // $blockquote-font-size: ($font-size-base * 1.25) !default;
841
+ // //** Blockquote border color
842
+ // $blockquote-border-color: $gray-lighter !default;
843
+ // //** Page header border color
844
+ // $page-header-border-color: $gray-lighter !default;
845
+ // //** Width of horizontal description list titles
846
+ // $dl-horizontal-offset: $component-offset-horizontal !default;
847
+ // //** Horizontal line color.
848
+ // $hr-border: $gray-lighter !default;