disco_app 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +37 -0
  3. data/app/assets/images/disco_app/icon.svg +1 -0
  4. data/app/assets/javascripts/disco_app/components/shopify_admin_link.js.jsx +29 -0
  5. data/app/assets/javascripts/disco_app/components.js +5 -0
  6. data/app/assets/javascripts/disco_app/disco_app.js +7 -0
  7. data/app/assets/javascripts/disco_app/frame.js +152 -0
  8. data/app/assets/javascripts/disco_app/shopify-turbolinks.js +7 -0
  9. data/app/assets/stylesheets/disco_app/bootstrap/_custom.scss +54 -0
  10. data/app/assets/stylesheets/disco_app/bootstrap/_variables.scss +872 -0
  11. data/app/assets/stylesheets/disco_app/disco/_buttons.scss +31 -0
  12. data/app/assets/stylesheets/disco_app/disco/_cards.scss +51 -0
  13. data/app/assets/stylesheets/disco_app/disco/_forms.scss +23 -0
  14. data/app/assets/stylesheets/disco_app/disco/_grid.scss +58 -0
  15. data/app/assets/stylesheets/disco_app/disco/_sections.scss +61 -0
  16. data/app/assets/stylesheets/disco_app/disco/_tables.scss +57 -0
  17. data/app/assets/stylesheets/disco_app/disco/_tabs.scss +61 -0
  18. data/app/assets/stylesheets/disco_app/disco/_type.scss +39 -0
  19. data/app/assets/stylesheets/disco_app/disco/mixins/_flexbox.scss +394 -0
  20. data/app/assets/stylesheets/disco_app/disco_app.scss +16 -0
  21. data/app/assets/stylesheets/disco_app/frame/_buttons.scss +54 -0
  22. data/app/assets/stylesheets/disco_app/frame/_forms.scss +26 -0
  23. data/app/assets/stylesheets/disco_app/frame/_layout.scss +77 -0
  24. data/app/assets/stylesheets/disco_app/frame/_type.scss +32 -0
  25. data/app/assets/stylesheets/disco_app/frame.scss +9 -0
  26. data/app/controllers/disco_app/app_proxy_controller.rb +41 -0
  27. data/app/controllers/disco_app/authenticated_controller.rb +44 -0
  28. data/app/controllers/disco_app/carrier_request_controller.rb +28 -0
  29. data/app/controllers/disco_app/charges_controller.rb +30 -0
  30. data/app/controllers/disco_app/frame_controller.rb +9 -0
  31. data/app/controllers/disco_app/install_controller.rb +26 -0
  32. data/app/controllers/disco_app/webhooks_controller.rb +42 -0
  33. data/app/helpers/disco_app/application_helper.rb +28 -0
  34. data/app/jobs/disco_app/app_installed_job.rb +3 -0
  35. data/app/jobs/disco_app/app_uninstalled_job.rb +3 -0
  36. data/app/jobs/disco_app/concerns/app_installed_job.rb +22 -0
  37. data/app/jobs/disco_app/concerns/app_uninstalled_job.rb +23 -0
  38. data/app/jobs/disco_app/concerns/shop_update_job.rb +16 -0
  39. data/app/jobs/disco_app/concerns/synchronise_carrier_service_job.rb +52 -0
  40. data/app/jobs/disco_app/concerns/synchronise_webhooks_job.rb +61 -0
  41. data/app/jobs/disco_app/shop_job.rb +27 -0
  42. data/app/jobs/disco_app/shop_update_job.rb +3 -0
  43. data/app/jobs/disco_app/synchronise_carrier_service_job.rb +3 -0
  44. data/app/jobs/disco_app/synchronise_webhooks_job.rb +3 -0
  45. data/app/models/disco_app/concerns/plan.rb +14 -0
  46. data/app/models/disco_app/concerns/shop.rb +70 -0
  47. data/app/models/disco_app/concerns/subscription.rb +14 -0
  48. data/app/models/disco_app/plan.rb +3 -0
  49. data/app/models/disco_app/session_storage.rb +18 -0
  50. data/app/models/disco_app/shop.rb +3 -0
  51. data/app/models/disco_app/subscription.rb +3 -0
  52. data/app/services/disco_app/charges_service.rb +73 -0
  53. data/app/services/disco_app/subscription_service.rb +25 -0
  54. data/app/services/disco_app/webhook_service.rb +30 -0
  55. data/app/views/disco_app/charges/activate.html.erb +1 -0
  56. data/app/views/disco_app/charges/create.html.erb +1 -0
  57. data/app/views/disco_app/charges/new.html.erb +45 -0
  58. data/app/views/disco_app/frame/frame.html.erb +36 -0
  59. data/app/views/disco_app/install/installing.html.erb +7 -0
  60. data/app/views/disco_app/install/uninstalling.html.erb +1 -0
  61. data/app/views/disco_app/proxy_errors/404.html.erb +1 -0
  62. data/app/views/disco_app/shared/_card.html.erb +14 -0
  63. data/app/views/disco_app/shared/_section.html.erb +17 -0
  64. data/app/views/layouts/application.html.erb +18 -0
  65. data/app/views/layouts/embedded_app.html.erb +41 -0
  66. data/app/views/layouts/embedded_app_modal.html.erb +17 -0
  67. data/app/views/sessions/new.html.erb +26 -0
  68. data/config/routes.rb +26 -0
  69. data/db/migrate/20150525000000_create_shops_if_not_existent.rb +15 -0
  70. data/db/migrate/20150525162112_add_status_to_shops.rb +5 -0
  71. data/db/migrate/20150525171422_add_meta_to_shops.rb +11 -0
  72. data/db/migrate/20150629210346_add_charge_status_to_shop.rb +5 -0
  73. data/db/migrate/20150814214025_add_more_meta_to_shops.rb +15 -0
  74. data/db/migrate/20151017231302_create_disco_app_plans.rb +13 -0
  75. data/db/migrate/20151017232027_create_disco_app_subscriptions.rb +15 -0
  76. data/db/migrate/20151017234409_move_shop_to_disco_app_engine.rb +5 -0
  77. data/db/migrate/20160112233706_create_disco_app_sessions.rb +12 -0
  78. data/db/migrate/20160113194418_add_shop_id_to_disco_app_sessions.rb +6 -0
  79. data/lib/disco_app/engine.rb +25 -0
  80. data/lib/disco_app/session.rb +14 -0
  81. data/lib/disco_app/support/file_fixtures.rb +23 -0
  82. data/lib/disco_app/test_help.rb +11 -0
  83. data/lib/disco_app/version.rb +3 -0
  84. data/lib/disco_app.rb +4 -0
  85. data/lib/generators/disco_app/USAGE +5 -0
  86. data/lib/generators/disco_app/disco_app_generator.rb +170 -0
  87. data/lib/generators/disco_app/mailify/mailify_generator.rb +54 -0
  88. data/lib/generators/disco_app/monitorify/monitorify_generator.rb +28 -0
  89. data/lib/generators/disco_app/monitorify/templates/config/newrelic.yml +26 -0
  90. data/lib/generators/disco_app/monitorify/templates/initializers/rollbar.rb +12 -0
  91. data/lib/generators/disco_app/reactify/reactify_generator.rb +45 -0
  92. data/lib/generators/disco_app/templates/assets/javascripts/application.js +17 -0
  93. data/lib/generators/disco_app/templates/assets/stylesheets/application.scss +5 -0
  94. data/lib/generators/disco_app/templates/config/puma.rb +15 -0
  95. data/lib/generators/disco_app/templates/controllers/home_controller.rb +7 -0
  96. data/lib/generators/disco_app/templates/initializers/disco_app.rb +1 -0
  97. data/lib/generators/disco_app/templates/initializers/session_store.rb +2 -0
  98. data/lib/generators/disco_app/templates/initializers/shopify_app.rb +7 -0
  99. data/lib/generators/disco_app/templates/initializers/shopify_session_repository.rb +7 -0
  100. data/lib/generators/disco_app/templates/root/Procfile +2 -0
  101. data/lib/generators/disco_app/templates/views/home/index.html.erb +2 -0
  102. data/lib/tasks/carrier_service.rake +10 -0
  103. data/lib/tasks/sessions.rake +9 -0
  104. data/lib/tasks/start.rake +3 -0
  105. data/lib/tasks/webhooks.rake +10 -0
  106. data/test/controllers/disco_app/install_controller_test.rb +50 -0
  107. data/test/controllers/disco_app/webhooks_controller_test.rb +58 -0
  108. data/test/controllers/home_controller_test.rb +61 -0
  109. data/test/disco_app_test.rb +7 -0
  110. data/test/dummy/Rakefile +6 -0
  111. data/test/dummy/app/assets/javascripts/application.js +17 -0
  112. data/test/dummy/app/assets/stylesheets/application.scss +5 -0
  113. data/test/dummy/app/controllers/application_controller.rb +6 -0
  114. data/test/dummy/app/controllers/home_controller.rb +7 -0
  115. data/test/dummy/app/helpers/application_helper.rb +2 -0
  116. data/test/dummy/app/jobs/disco_app/app_uninstalled_job.rb +11 -0
  117. data/test/dummy/app/models/disco_app/shop.rb +15 -0
  118. data/test/dummy/app/views/home/index.html.erb +2 -0
  119. data/test/dummy/bin/bundle +3 -0
  120. data/test/dummy/bin/rails +4 -0
  121. data/test/dummy/bin/rake +4 -0
  122. data/test/dummy/bin/setup +29 -0
  123. data/test/dummy/config/application.rb +41 -0
  124. data/test/dummy/config/boot.rb +5 -0
  125. data/test/dummy/config/database.yml +25 -0
  126. data/test/dummy/config/environment.rb +5 -0
  127. data/test/dummy/config/environments/development.rb +41 -0
  128. data/test/dummy/config/environments/production.rb +85 -0
  129. data/test/dummy/config/environments/test.rb +42 -0
  130. data/test/dummy/config/initializers/assets.rb +11 -0
  131. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  132. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  133. data/test/dummy/config/initializers/disco_app.rb +1 -0
  134. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  135. data/test/dummy/config/initializers/inflections.rb +16 -0
  136. data/test/dummy/config/initializers/mime_types.rb +4 -0
  137. data/test/dummy/config/initializers/omniauth.rb +9 -0
  138. data/test/dummy/config/initializers/session_store.rb +2 -0
  139. data/test/dummy/config/initializers/shopify_app.rb +7 -0
  140. data/test/dummy/config/initializers/shopify_session_repository.rb +7 -0
  141. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  142. data/test/dummy/config/locales/en.yml +23 -0
  143. data/test/dummy/config/routes.rb +8 -0
  144. data/test/dummy/config/secrets.yml +22 -0
  145. data/test/dummy/config.ru +4 -0
  146. data/test/dummy/db/schema.rb +81 -0
  147. data/test/dummy/public/404.html +67 -0
  148. data/test/dummy/public/422.html +67 -0
  149. data/test/dummy/public/500.html +66 -0
  150. data/test/dummy/public/favicon.ico +0 -0
  151. data/test/fixtures/api/widget_store/shop.json +46 -0
  152. data/test/fixtures/api/widget_store/webhooks.json +1 -0
  153. data/test/fixtures/disco_app/plans.yml +32 -0
  154. data/test/fixtures/disco_app/shops.yml +10 -0
  155. data/test/fixtures/disco_app/subscriptions.yml +26 -0
  156. data/test/fixtures/webhooks/app_uninstalled.json +46 -0
  157. data/test/integration/navigation_test.rb +10 -0
  158. data/test/jobs/disco_app/app_installed_job_test.rb +30 -0
  159. data/test/jobs/disco_app/app_uninstalled_job_test.rb +32 -0
  160. data/test/models/disco_app/plan_test.rb +5 -0
  161. data/test/models/disco_app/session_test.rb +31 -0
  162. data/test/models/disco_app/shop_test.rb +26 -0
  163. data/test/models/disco_app/subscription_test.rb +6 -0
  164. data/test/services/disco_app/subscription_service_test.rb +28 -0
  165. data/test/support/test_file_fixtures.rb +29 -0
  166. data/test/test_helper.rb +51 -0
  167. metadata +508 -0
@@ -0,0 +1,872 @@
1
+ $bootstrap-sass-asset-helper: false !default;
2
+ //
3
+ // Variables, customised for Disco applications.
4
+ // --------------------------------------------------
5
+
6
+
7
+ //== Colors
8
+ //
9
+ //## Gray and brand colors for use across Bootstrap.
10
+
11
+ $gray-base: #000 !default;
12
+ $gray-darker: lighten($gray-base, 13.5%) !default; // #222
13
+ $gray-dark: lighten($gray-base, 20%) !default; // #333
14
+ $gray: lighten($gray-base, 33.5%) !default; // #555
15
+ $gray-light: lighten($gray-base, 46.7%) !default; // #777
16
+ $gray-lighter: lighten($gray-base, 93.5%) !default; // #eee
17
+
18
+ $brand-primary: #479ccf;
19
+ $brand-success: #5cb85c !default;
20
+ $brand-info: #5bc0de !default;
21
+ $brand-warning: #f0ad4e !default;
22
+ $brand-danger: #ff5d5d;
23
+
24
+
25
+ //== Scaffolding
26
+ //
27
+ //## Settings for some of the most global styles.
28
+
29
+ //** Background color for `<body>`.
30
+ $body-bg: #ebeef0;
31
+ //** Global text color on `<body>`.
32
+ $text-color: #31373d;
33
+
34
+ //** Global textual link color.
35
+ $link-color: $brand-primary !default;
36
+ //** Link hover color set via `darken()` function.
37
+ $link-hover-color: #4293c2;
38
+ //** Link hover decoration.
39
+ $link-hover-decoration: underline !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: 13px !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: 400;
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
+
81
+ // [converter] If $bootstrap-sass-asset-helper if used, provide path relative to the assets load path.
82
+ // [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths.
83
+ $icon-font-path: if($bootstrap-sass-asset-helper, "bootstrap/", "../fonts/bootstrap/") !default;
84
+
85
+ //** File name for all font files.
86
+ $icon-font-name: "glyphicons-halflings-regular" !default;
87
+ //** Element ID within SVG icon file.
88
+ $icon-font-svg-id: "glyphicons_halflingsregular" !default;
89
+
90
+
91
+ //== Components
92
+ //
93
+ //## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
94
+
95
+ $padding-base-vertical: 5px;
96
+ $padding-base-horizontal: 10px;
97
+
98
+ $padding-large-vertical: 10px !default;
99
+ $padding-large-horizontal: 16px !default;
100
+
101
+ $padding-small-vertical: 5px !default;
102
+ $padding-small-horizontal: 10px !default;
103
+
104
+ $padding-xs-vertical: 1px !default;
105
+ $padding-xs-horizontal: 5px !default;
106
+
107
+ $line-height-large: 1.3333333 !default; // extra decimals for Win 8.1 Chrome
108
+ $line-height-small: 1.5 !default;
109
+
110
+ $border-radius-base: 3px;
111
+ $border-radius-large: 5px;
112
+ $border-radius-small: 2px;
113
+
114
+ //** Global color for active items (e.g., navs or dropdowns).
115
+ $component-active-color: #fff !default;
116
+ //** Global background color for active items (e.g., navs or dropdowns).
117
+ $component-active-bg: $brand-primary !default;
118
+
119
+ //** Width of the `border` for generating carets that indicator dropdowns.
120
+ $caret-width-base: 4px !default;
121
+ //** Carets increase slightly in size for larger components.
122
+ $caret-width-large: 5px !default;
123
+
124
+
125
+ //== Tables
126
+ //
127
+ //## Customizes the `.table` component with basic values, each used across all table variations.
128
+
129
+ //** Padding for `<th>`s and `<td>`s.
130
+ $table-cell-padding: 8px !default;
131
+ //** Padding for cells in `.table-condensed`.
132
+ $table-condensed-cell-padding: 5px !default;
133
+
134
+ //** Default background color used for all tables.
135
+ $table-bg: transparent !default;
136
+ //** Background color used for `.table-striped`.
137
+ $table-bg-accent: #f9f9f9 !default;
138
+ //** Background color used for `.table-hover`.
139
+ $table-bg-hover: #f5f5f5 !default;
140
+ $table-bg-active: $table-bg-hover !default;
141
+
142
+ //** Border color for table and cell borders.
143
+ $table-border-color: #ddd !default;
144
+
145
+
146
+ //== Buttons
147
+ //
148
+ //## For each of Bootstrap's buttons, define text, background and border color.
149
+
150
+ $btn-font-weight: normal !default;
151
+
152
+ $btn-default-color: $link-color;
153
+ $btn-default-bg: #fff !default;
154
+ $btn-default-border: #d3dbe2;
155
+
156
+ $btn-primary-color: #fff !default;
157
+ $btn-primary-bg: $brand-primary !default;
158
+ $btn-primary-border: $brand-primary;
159
+
160
+ $btn-success-color: #fff !default;
161
+ $btn-success-bg: $brand-success !default;
162
+ $btn-success-border: darken($btn-success-bg, 5%) !default;
163
+
164
+ $btn-info-color: #fff !default;
165
+ $btn-info-bg: $brand-info !default;
166
+ $btn-info-border: darken($btn-info-bg, 5%) !default;
167
+
168
+ $btn-warning-color: #fff !default;
169
+ $btn-warning-bg: $brand-warning !default;
170
+ $btn-warning-border: darken($btn-warning-bg, 5%) !default;
171
+
172
+ $btn-danger-color: #fff !default;
173
+ $btn-danger-bg: $brand-danger !default;
174
+ $btn-danger-border: darken($btn-danger-bg, 5%) !default;
175
+
176
+ $btn-link-disabled-color: $gray-light !default;
177
+
178
+ // Allows for customizing button radius independently from global border radius
179
+ $btn-border-radius-base: $border-radius-base !default;
180
+ $btn-border-radius-large: $border-radius-large !default;
181
+ $btn-border-radius-small: $border-radius-small !default;
182
+
183
+
184
+ //== Forms
185
+ //
186
+ //##
187
+
188
+ //** `<input>` background color
189
+ $input-bg: #fff !default;
190
+ //** `<input disabled>` background color
191
+ $input-bg-disabled: $gray-lighter !default;
192
+
193
+ //** Text color for `<input>`s
194
+ $input-color: #31373d;
195
+ //** `<input>` border color
196
+ $input-border: #d3dbe2;
197
+
198
+ // TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4
199
+ //** Default `.form-control` border radius
200
+ // This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS.
201
+ $input-border-radius: $border-radius-base !default;
202
+ //** Large `.form-control` border radius
203
+ $input-border-radius-large: $border-radius-large !default;
204
+ //** Small `.form-control` border radius
205
+ $input-border-radius-small: $border-radius-small !default;
206
+
207
+ //** Border color for inputs on focus
208
+ $input-border-focus: #479ccf;
209
+
210
+ //** Placeholder text color
211
+ $input-color-placeholder: #999 !default;
212
+
213
+ //** Default `.form-control` height
214
+ $input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;
215
+ //** Large `.form-control` height
216
+ $input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;
217
+ //** Small `.form-control` height
218
+ $input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;
219
+
220
+ //** `.form-group` margin
221
+ $form-group-margin-bottom: 15px !default;
222
+
223
+ $legend-color: $gray-dark !default;
224
+ $legend-border-color: #e5e5e5 !default;
225
+
226
+ //** Background color for textual input addons
227
+ $input-group-addon-bg: $gray-lighter !default;
228
+ //** Border color for textual input addons
229
+ $input-group-addon-border-color: $input-border !default;
230
+
231
+ //** Disabled cursor for form controls and buttons.
232
+ $cursor-disabled: not-allowed !default;
233
+
234
+
235
+ //== Dropdowns
236
+ //
237
+ //## Dropdown menu container and contents.
238
+
239
+ //** Background for the dropdown menu.
240
+ $dropdown-bg: #fff !default;
241
+ //** Dropdown menu `border-color`.
242
+ $dropdown-border: rgba(0,0,0,.15) !default;
243
+ //** Dropdown menu `border-color` **for IE8**.
244
+ $dropdown-fallback-border: #ccc !default;
245
+ //** Divider color for between dropdown items.
246
+ $dropdown-divider-bg: #e5e5e5 !default;
247
+
248
+ //** Dropdown link text color.
249
+ $dropdown-link-color: $gray-dark !default;
250
+ //** Hover color for dropdown links.
251
+ $dropdown-link-hover-color: darken($gray-dark, 5%) !default;
252
+ //** Hover background for dropdown links.
253
+ $dropdown-link-hover-bg: #f5f5f5 !default;
254
+
255
+ //** Active dropdown menu item text color.
256
+ $dropdown-link-active-color: $component-active-color !default;
257
+ //** Active dropdown menu item background color.
258
+ $dropdown-link-active-bg: $component-active-bg !default;
259
+
260
+ //** Disabled dropdown menu item background color.
261
+ $dropdown-link-disabled-color: $gray-light !default;
262
+
263
+ //** Text color for headers within dropdown menus.
264
+ $dropdown-header-color: $gray-light !default;
265
+
266
+ //** Deprecated `$dropdown-caret-color` as of v3.1.0
267
+ $dropdown-caret-color: #000 !default;
268
+
269
+
270
+ //-- Z-index master list
271
+ //
272
+ // Warning: Avoid customizing these values. They're used for a bird's eye view
273
+ // of components dependent on the z-axis and are designed to all work together.
274
+ //
275
+ // Note: These variables are not generated into the Customizer.
276
+
277
+ $zindex-navbar: 1000 !default;
278
+ $zindex-dropdown: 1000 !default;
279
+ $zindex-popover: 1060 !default;
280
+ $zindex-tooltip: 1070 !default;
281
+ $zindex-navbar-fixed: 1030 !default;
282
+ $zindex-modal-background: 1040 !default;
283
+ $zindex-modal: 1050 !default;
284
+
285
+
286
+ //== Media queries breakpoints
287
+ //
288
+ //## Define the breakpoints at which your layout will change, adapting to different screen sizes.
289
+
290
+ // Extra small screen / phone
291
+ //** Deprecated `$screen-xs` as of v3.0.1
292
+ $screen-xs: 480px !default;
293
+ //** Deprecated `$screen-xs-min` as of v3.2.0
294
+ $screen-xs-min: $screen-xs !default;
295
+ //** Deprecated `$screen-phone` as of v3.0.1
296
+ $screen-phone: $screen-xs-min !default;
297
+
298
+ // Small screen / tablet
299
+ //** Deprecated `$screen-sm` as of v3.0.1
300
+ $screen-sm: 768px !default;
301
+ $screen-sm-min: $screen-sm !default;
302
+ //** Deprecated `$screen-tablet` as of v3.0.1
303
+ $screen-tablet: $screen-sm-min !default;
304
+
305
+ // Medium screen / desktop
306
+ //** Deprecated `$screen-md` as of v3.0.1
307
+ $screen-md: 992px !default;
308
+ $screen-md-min: $screen-md !default;
309
+ //** Deprecated `$screen-desktop` as of v3.0.1
310
+ $screen-desktop: $screen-md-min !default;
311
+
312
+ // Large screen / wide desktop
313
+ //** Deprecated `$screen-lg` as of v3.0.1
314
+ $screen-lg: 1200px !default;
315
+ $screen-lg-min: $screen-lg !default;
316
+ //** Deprecated `$screen-lg-desktop` as of v3.0.1
317
+ $screen-lg-desktop: $screen-lg-min !default;
318
+
319
+ // So media queries don't overlap when required, provide a maximum
320
+ $screen-xs-max: ($screen-sm-min - 1) !default;
321
+ $screen-sm-max: ($screen-md-min - 1) !default;
322
+ $screen-md-max: ($screen-lg-min - 1) !default;
323
+
324
+
325
+ //== Grid system
326
+ //
327
+ //## Define your custom responsive grid.
328
+
329
+ //** Number of columns in the grid.
330
+ $grid-columns: 24;
331
+ //** Padding between columns. Gets divided in half for the left and right.
332
+ $grid-gutter-width: 20px;
333
+ // Navbar collapse
334
+ //** Point at which the navbar becomes uncollapsed.
335
+ $grid-float-breakpoint: $screen-sm-min !default;
336
+ //** Point at which the navbar begins collapsing.
337
+ $grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;
338
+
339
+
340
+ //== Container sizes
341
+ //
342
+ //## Define the maximum width of `.container` for different screen sizes.
343
+
344
+ // Small screen / tablet
345
+ $container-tablet: (720px + $grid-gutter-width) !default;
346
+ //** For `$screen-sm-min` and up.
347
+ $container-sm: $container-tablet !default;
348
+
349
+ // Medium screen / desktop
350
+ $container-desktop: (940px + $grid-gutter-width) !default;
351
+ //** For `$screen-md-min` and up.
352
+ $container-md: $container-desktop !default;
353
+
354
+ // Large screen / wide desktop
355
+ $container-large-desktop: (1140px + $grid-gutter-width) !default;
356
+ //** For `$screen-lg-min` and up.
357
+ $container-lg: $container-large-desktop !default;
358
+
359
+
360
+ //== Navbar
361
+ //
362
+ //##
363
+
364
+ // Basics of a navbar
365
+ $navbar-height: 50px !default;
366
+ $navbar-margin-bottom: $line-height-computed !default;
367
+ $navbar-border-radius: $border-radius-base !default;
368
+ $navbar-padding-horizontal: floor(($grid-gutter-width / 2)) !default;
369
+ $navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) !default;
370
+ $navbar-collapse-max-height: 340px !default;
371
+
372
+ $navbar-default-color: #777 !default;
373
+ $navbar-default-bg: #f8f8f8 !default;
374
+ $navbar-default-border: darken($navbar-default-bg, 6.5%) !default;
375
+
376
+ // Navbar links
377
+ $navbar-default-link-color: #777 !default;
378
+ $navbar-default-link-hover-color: #333 !default;
379
+ $navbar-default-link-hover-bg: transparent !default;
380
+ $navbar-default-link-active-color: #555 !default;
381
+ $navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%) !default;
382
+ $navbar-default-link-disabled-color: #ccc !default;
383
+ $navbar-default-link-disabled-bg: transparent !default;
384
+
385
+ // Navbar brand label
386
+ $navbar-default-brand-color: $navbar-default-link-color !default;
387
+ $navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%) !default;
388
+ $navbar-default-brand-hover-bg: transparent !default;
389
+
390
+ // Navbar toggle
391
+ $navbar-default-toggle-hover-bg: #ddd !default;
392
+ $navbar-default-toggle-icon-bar-bg: #888 !default;
393
+ $navbar-default-toggle-border-color: #ddd !default;
394
+
395
+
396
+ //=== Inverted navbar
397
+ // Reset inverted navbar basics
398
+ $navbar-inverse-color: lighten($gray-light, 15%) !default;
399
+ $navbar-inverse-bg: #222 !default;
400
+ $navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default;
401
+
402
+ // Inverted navbar links
403
+ $navbar-inverse-link-color: lighten($gray-light, 15%) !default;
404
+ $navbar-inverse-link-hover-color: #fff !default;
405
+ $navbar-inverse-link-hover-bg: transparent !default;
406
+ $navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default;
407
+ $navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) !default;
408
+ $navbar-inverse-link-disabled-color: #444 !default;
409
+ $navbar-inverse-link-disabled-bg: transparent !default;
410
+
411
+ // Inverted navbar brand label
412
+ $navbar-inverse-brand-color: $navbar-inverse-link-color !default;
413
+ $navbar-inverse-brand-hover-color: #fff !default;
414
+ $navbar-inverse-brand-hover-bg: transparent !default;
415
+
416
+ // Inverted navbar toggle
417
+ $navbar-inverse-toggle-hover-bg: #333 !default;
418
+ $navbar-inverse-toggle-icon-bar-bg: #fff !default;
419
+ $navbar-inverse-toggle-border-color: #333 !default;
420
+
421
+
422
+ //== Navs
423
+ //
424
+ //##
425
+
426
+ //=== Shared nav styles
427
+ $nav-link-padding: 10px 15px !default;
428
+ $nav-link-hover-bg: $gray-lighter !default;
429
+
430
+ $nav-disabled-link-color: $gray-light !default;
431
+ $nav-disabled-link-hover-color: $gray-light !default;
432
+
433
+ //== Tabs
434
+ $nav-tabs-border-color: #ddd !default;
435
+
436
+ $nav-tabs-link-hover-border-color: $gray-lighter !default;
437
+
438
+ $nav-tabs-active-link-hover-bg: $body-bg !default;
439
+ $nav-tabs-active-link-hover-color: $gray !default;
440
+ $nav-tabs-active-link-hover-border-color: #ddd !default;
441
+
442
+ $nav-tabs-justified-link-border-color: #ddd !default;
443
+ $nav-tabs-justified-active-link-border-color: $body-bg !default;
444
+
445
+ //== Pills
446
+ $nav-pills-border-radius: $border-radius-base !default;
447
+ $nav-pills-active-link-hover-bg: $component-active-bg !default;
448
+ $nav-pills-active-link-hover-color: $component-active-color !default;
449
+
450
+
451
+ //== Pagination
452
+ //
453
+ //##
454
+
455
+ $pagination-color: $link-color !default;
456
+ $pagination-bg: #fff !default;
457
+ $pagination-border: #ddd !default;
458
+
459
+ $pagination-hover-color: $link-hover-color !default;
460
+ $pagination-hover-bg: $gray-lighter !default;
461
+ $pagination-hover-border: #ddd !default;
462
+
463
+ $pagination-active-color: #fff !default;
464
+ $pagination-active-bg: $brand-primary !default;
465
+ $pagination-active-border: $brand-primary !default;
466
+
467
+ $pagination-disabled-color: $gray-light !default;
468
+ $pagination-disabled-bg: #fff !default;
469
+ $pagination-disabled-border: #ddd !default;
470
+
471
+
472
+ //== Pager
473
+ //
474
+ //##
475
+
476
+ $pager-bg: $pagination-bg !default;
477
+ $pager-border: $pagination-border !default;
478
+ $pager-border-radius: 15px !default;
479
+
480
+ $pager-hover-bg: $pagination-hover-bg !default;
481
+
482
+ $pager-active-bg: $pagination-active-bg !default;
483
+ $pager-active-color: $pagination-active-color !default;
484
+
485
+ $pager-disabled-color: $pagination-disabled-color !default;
486
+
487
+
488
+ //== Jumbotron
489
+ //
490
+ //##
491
+
492
+ $jumbotron-padding: 30px !default;
493
+ $jumbotron-color: inherit !default;
494
+ $jumbotron-bg: $gray-lighter !default;
495
+ $jumbotron-heading-color: inherit !default;
496
+ $jumbotron-font-size: ceil(($font-size-base * 1.5)) !default;
497
+ $jumbotron-heading-font-size: ceil(($font-size-base * 4.5)) !default;
498
+
499
+
500
+ //== Form states and alerts
501
+ //
502
+ //## Define colors for form feedback states and, by default, alerts.
503
+
504
+ $state-success-text: #3c763d !default;
505
+ $state-success-bg: #dff0d8 !default;
506
+ $state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) !default;
507
+
508
+ $state-info-text: #31708f !default;
509
+ $state-info-bg: #d9edf7 !default;
510
+ $state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) !default;
511
+
512
+ $state-warning-text: #8a6d3b !default;
513
+ $state-warning-bg: #fcf8e3 !default;
514
+ $state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%) !default;
515
+
516
+ $state-danger-text: #a94442 !default;
517
+ $state-danger-bg: #f2dede !default;
518
+ $state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) !default;
519
+
520
+
521
+ //== Tooltips
522
+ //
523
+ //##
524
+
525
+ //** Tooltip max width
526
+ $tooltip-max-width: 200px !default;
527
+ //** Tooltip text color
528
+ $tooltip-color: #fff !default;
529
+ //** Tooltip background color
530
+ $tooltip-bg: #000 !default;
531
+ $tooltip-opacity: .9 !default;
532
+
533
+ //** Tooltip arrow width
534
+ $tooltip-arrow-width: 5px !default;
535
+ //** Tooltip arrow color
536
+ $tooltip-arrow-color: $tooltip-bg !default;
537
+
538
+
539
+ //== Popovers
540
+ //
541
+ //##
542
+
543
+ //** Popover body background color
544
+ $popover-bg: #fff !default;
545
+ //** Popover maximum width
546
+ $popover-max-width: 276px !default;
547
+ //** Popover border color
548
+ $popover-border-color: rgba(0,0,0,.2) !default;
549
+ //** Popover fallback border color
550
+ $popover-fallback-border-color: #ccc !default;
551
+
552
+ //** Popover title background color
553
+ $popover-title-bg: darken($popover-bg, 3%) !default;
554
+
555
+ //** Popover arrow width
556
+ $popover-arrow-width: 10px !default;
557
+ //** Popover arrow color
558
+ $popover-arrow-color: $popover-bg !default;
559
+
560
+ //** Popover outer arrow width
561
+ $popover-arrow-outer-width: ($popover-arrow-width + 1) !default;
562
+ //** Popover outer arrow color
563
+ $popover-arrow-outer-color: fade_in($popover-border-color, 0.05) !default;
564
+ //** Popover outer arrow fallback color
565
+ $popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%) !default;
566
+
567
+
568
+ //== Labels
569
+ //
570
+ //##
571
+
572
+ //** Default label background color
573
+ $label-default-bg: $gray-light !default;
574
+ //** Primary label background color
575
+ $label-primary-bg: $brand-primary !default;
576
+ //** Success label background color
577
+ $label-success-bg: $brand-success !default;
578
+ //** Info label background color
579
+ $label-info-bg: $brand-info !default;
580
+ //** Warning label background color
581
+ $label-warning-bg: $brand-warning !default;
582
+ //** Danger label background color
583
+ $label-danger-bg: $brand-danger !default;
584
+
585
+ //** Default label text color
586
+ $label-color: #fff !default;
587
+ //** Default text color of a linked label
588
+ $label-link-hover-color: #fff !default;
589
+
590
+
591
+ //== Modals
592
+ //
593
+ //##
594
+
595
+ //** Padding applied to the modal body
596
+ $modal-inner-padding: 15px !default;
597
+
598
+ //** Padding applied to the modal title
599
+ $modal-title-padding: 15px !default;
600
+ //** Modal title line-height
601
+ $modal-title-line-height: $line-height-base !default;
602
+
603
+ //** Background color of modal content area
604
+ $modal-content-bg: #fff !default;
605
+ //** Modal content border color
606
+ $modal-content-border-color: rgba(0,0,0,.2) !default;
607
+ //** Modal content border color **for IE8**
608
+ $modal-content-fallback-border-color: #999 !default;
609
+
610
+ //** Modal backdrop background color
611
+ $modal-backdrop-bg: #000 !default;
612
+ //** Modal backdrop opacity
613
+ $modal-backdrop-opacity: .5 !default;
614
+ //** Modal header border color
615
+ $modal-header-border-color: #e5e5e5 !default;
616
+ //** Modal footer border color
617
+ $modal-footer-border-color: $modal-header-border-color !default;
618
+
619
+ $modal-lg: 900px !default;
620
+ $modal-md: 600px !default;
621
+ $modal-sm: 300px !default;
622
+
623
+
624
+ //== Alerts
625
+ //
626
+ //## Define alert colors, border radius, and padding.
627
+
628
+ $alert-padding: 15px !default;
629
+ $alert-border-radius: $border-radius-base !default;
630
+ $alert-link-font-weight: bold !default;
631
+
632
+ $alert-success-bg: $state-success-bg !default;
633
+ $alert-success-text: $state-success-text !default;
634
+ $alert-success-border: $state-success-border !default;
635
+
636
+ $alert-info-bg: $state-info-bg !default;
637
+ $alert-info-text: $state-info-text !default;
638
+ $alert-info-border: $state-info-border !default;
639
+
640
+ $alert-warning-bg: $state-warning-bg !default;
641
+ $alert-warning-text: $state-warning-text !default;
642
+ $alert-warning-border: $state-warning-border !default;
643
+
644
+ $alert-danger-bg: $state-danger-bg !default;
645
+ $alert-danger-text: $state-danger-text !default;
646
+ $alert-danger-border: $state-danger-border !default;
647
+
648
+
649
+ //== Progress bars
650
+ //
651
+ //##
652
+
653
+ //** Background color of the whole progress component
654
+ $progress-bg: #f5f5f5 !default;
655
+ //** Progress bar text color
656
+ $progress-bar-color: #fff !default;
657
+ //** Variable for setting rounded corners on progress bar.
658
+ $progress-border-radius: $border-radius-base !default;
659
+
660
+ //** Default progress bar color
661
+ $progress-bar-bg: $brand-primary !default;
662
+ //** Success progress bar color
663
+ $progress-bar-success-bg: $brand-success !default;
664
+ //** Warning progress bar color
665
+ $progress-bar-warning-bg: $brand-warning !default;
666
+ //** Danger progress bar color
667
+ $progress-bar-danger-bg: $brand-danger !default;
668
+ //** Info progress bar color
669
+ $progress-bar-info-bg: $brand-info !default;
670
+
671
+
672
+ //== List group
673
+ //
674
+ //##
675
+
676
+ //** Background color on `.list-group-item`
677
+ $list-group-bg: #fff !default;
678
+ //** `.list-group-item` border color
679
+ $list-group-border: #ddd !default;
680
+ //** List group border radius
681
+ $list-group-border-radius: $border-radius-base !default;
682
+
683
+ //** Background color of single list items on hover
684
+ $list-group-hover-bg: #f5f5f5 !default;
685
+ //** Text color of active list items
686
+ $list-group-active-color: $component-active-color !default;
687
+ //** Background color of active list items
688
+ $list-group-active-bg: $component-active-bg !default;
689
+ //** Border color of active list elements
690
+ $list-group-active-border: $list-group-active-bg !default;
691
+ //** Text color for content within active list items
692
+ $list-group-active-text-color: lighten($list-group-active-bg, 40%) !default;
693
+
694
+ //** Text color of disabled list items
695
+ $list-group-disabled-color: $gray-light !default;
696
+ //** Background color of disabled list items
697
+ $list-group-disabled-bg: $gray-lighter !default;
698
+ //** Text color for content within disabled list items
699
+ $list-group-disabled-text-color: $list-group-disabled-color !default;
700
+
701
+ $list-group-link-color: #555 !default;
702
+ $list-group-link-hover-color: $list-group-link-color !default;
703
+ $list-group-link-heading-color: #333 !default;
704
+
705
+
706
+ //== Panels
707
+ //
708
+ //##
709
+
710
+ $panel-bg: #fff !default;
711
+ $panel-body-padding: 15px !default;
712
+ $panel-heading-padding: 10px 15px !default;
713
+ $panel-footer-padding: $panel-heading-padding !default;
714
+ $panel-border-radius: $border-radius-base !default;
715
+
716
+ //** Border color for elements within panels
717
+ $panel-inner-border: #ddd !default;
718
+ $panel-footer-bg: #f5f5f5 !default;
719
+
720
+ $panel-default-text: $gray-dark !default;
721
+ $panel-default-border: #ddd !default;
722
+ $panel-default-heading-bg: #f5f5f5 !default;
723
+
724
+ $panel-primary-text: #fff !default;
725
+ $panel-primary-border: $brand-primary !default;
726
+ $panel-primary-heading-bg: $brand-primary !default;
727
+
728
+ $panel-success-text: $state-success-text !default;
729
+ $panel-success-border: $state-success-border !default;
730
+ $panel-success-heading-bg: $state-success-bg !default;
731
+
732
+ $panel-info-text: $state-info-text !default;
733
+ $panel-info-border: $state-info-border !default;
734
+ $panel-info-heading-bg: $state-info-bg !default;
735
+
736
+ $panel-warning-text: $state-warning-text !default;
737
+ $panel-warning-border: $state-warning-border !default;
738
+ $panel-warning-heading-bg: $state-warning-bg !default;
739
+
740
+ $panel-danger-text: $state-danger-text !default;
741
+ $panel-danger-border: $state-danger-border !default;
742
+ $panel-danger-heading-bg: $state-danger-bg !default;
743
+
744
+
745
+ //== Thumbnails
746
+ //
747
+ //##
748
+
749
+ //** Padding around the thumbnail image
750
+ $thumbnail-padding: 4px !default;
751
+ //** Thumbnail background color
752
+ $thumbnail-bg: $body-bg !default;
753
+ //** Thumbnail border color
754
+ $thumbnail-border: #ddd !default;
755
+ //** Thumbnail border radius
756
+ $thumbnail-border-radius: $border-radius-base !default;
757
+
758
+ //** Custom text color for thumbnail captions
759
+ $thumbnail-caption-color: $text-color !default;
760
+ //** Padding around the thumbnail caption
761
+ $thumbnail-caption-padding: 9px !default;
762
+
763
+
764
+ //== Wells
765
+ //
766
+ //##
767
+
768
+ $well-bg: #f5f5f5 !default;
769
+ $well-border: darken($well-bg, 7%) !default;
770
+
771
+
772
+ //== Badges
773
+ //
774
+ //##
775
+
776
+ $badge-color: #fff !default;
777
+ //** Linked badge text color on hover
778
+ $badge-link-hover-color: #fff !default;
779
+ $badge-bg: $gray-light !default;
780
+
781
+ //** Badge text color in active nav link
782
+ $badge-active-color: $link-color !default;
783
+ //** Badge background color in active nav link
784
+ $badge-active-bg: #fff !default;
785
+
786
+ $badge-font-weight: bold !default;
787
+ $badge-line-height: 1 !default;
788
+ $badge-border-radius: 10px !default;
789
+
790
+
791
+ //== Breadcrumbs
792
+ //
793
+ //##
794
+
795
+ $breadcrumb-padding-vertical: 8px !default;
796
+ $breadcrumb-padding-horizontal: 15px !default;
797
+ //** Breadcrumb background color
798
+ $breadcrumb-bg: #f5f5f5 !default;
799
+ //** Breadcrumb text color
800
+ $breadcrumb-color: #ccc !default;
801
+ //** Text color of current page in the breadcrumb
802
+ $breadcrumb-active-color: $gray-light !default;
803
+ //** Textual separator for between breadcrumb elements
804
+ $breadcrumb-separator: "/" !default;
805
+
806
+
807
+ //== Carousel
808
+ //
809
+ //##
810
+
811
+ $carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;
812
+
813
+ $carousel-control-color: #fff !default;
814
+ $carousel-control-width: 15% !default;
815
+ $carousel-control-opacity: .5 !default;
816
+ $carousel-control-font-size: 20px !default;
817
+
818
+ $carousel-indicator-active-bg: #fff !default;
819
+ $carousel-indicator-border-color: #fff !default;
820
+
821
+ $carousel-caption-color: #fff !default;
822
+
823
+
824
+ //== Close
825
+ //
826
+ //##
827
+
828
+ $close-font-weight: bold !default;
829
+ $close-color: #000 !default;
830
+ $close-text-shadow: 0 1px 0 #fff !default;
831
+
832
+
833
+ //== Code
834
+ //
835
+ //##
836
+
837
+ $code-color: #c7254e !default;
838
+ $code-bg: #f9f2f4 !default;
839
+
840
+ $kbd-color: #fff !default;
841
+ $kbd-bg: #333 !default;
842
+
843
+ $pre-bg: #f5f5f5 !default;
844
+ $pre-color: $gray-dark !default;
845
+ $pre-border-color: #ccc !default;
846
+ $pre-scrollable-max-height: 340px !default;
847
+
848
+
849
+ //== Type
850
+ //
851
+ //##
852
+
853
+ //** Horizontal offset for forms and lists.
854
+ $component-offset-horizontal: 180px !default;
855
+ //** Text muted color
856
+ $text-muted: $gray-light !default;
857
+ //** Abbreviations and acronyms border color
858
+ $abbr-border-color: $gray-light !default;
859
+ //** Headings small color
860
+ $headings-small-color: $gray-light !default;
861
+ //** Blockquote small color
862
+ $blockquote-small-color: $gray-light !default;
863
+ //** Blockquote font size
864
+ $blockquote-font-size: ($font-size-base * 1.25) !default;
865
+ //** Blockquote border color
866
+ $blockquote-border-color: $gray-lighter !default;
867
+ //** Page header border color
868
+ $page-header-border-color: $gray-lighter !default;
869
+ //** Width of horizontal description list titles
870
+ $dl-horizontal-offset: $component-offset-horizontal !default;
871
+ //** Horizontal line color.
872
+ $hr-border: $gray-lighter !default;