solidus_backend 2.1.1 → 2.2.0.beta1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of solidus_backend might be problematic. Click here for more details.

Files changed (544) hide show
  1. checksums.yaml +4 -4
  2. data/.eslintrc +21 -0
  3. data/Gemfile +3 -0
  4. data/Rakefile +30 -1
  5. data/app/assets/config/solidus_backend_manifest.js +6 -0
  6. data/app/assets/javascripts/spree/backend.js +11 -7
  7. data/app/assets/javascripts/spree/backend/address_states.js +1 -1
  8. data/app/assets/javascripts/spree/backend/admin.js +11 -11
  9. data/app/assets/javascripts/spree/backend/calculator.js +24 -14
  10. data/app/assets/javascripts/spree/backend/checkouts/edit.js +9 -96
  11. data/app/assets/javascripts/spree/backend/collections/index.js +2 -0
  12. data/app/assets/javascripts/spree/backend/collections/line_items.js +9 -0
  13. data/app/assets/javascripts/spree/backend/collections/states.js +13 -0
  14. data/app/assets/javascripts/spree/backend/components/number_with_currency.js +12 -0
  15. data/app/assets/javascripts/spree/backend/components/tooltips.js +2 -1
  16. data/app/assets/javascripts/spree/backend/format_money.js +11 -0
  17. data/app/assets/javascripts/spree/backend/handlebars_extensions.js +18 -0
  18. data/app/assets/javascripts/spree/backend/images/upload.js +1 -1
  19. data/app/assets/javascripts/spree/backend/models/address.js +2 -0
  20. data/app/assets/javascripts/spree/backend/models/index.js +2 -0
  21. data/app/assets/javascripts/spree/backend/models/line_item.js +7 -0
  22. data/app/assets/javascripts/spree/backend/models/order.js +37 -0
  23. data/app/assets/javascripts/spree/backend/namespaces.js +9 -0
  24. data/app/assets/javascripts/spree/backend/orders/cart.js +55 -0
  25. data/app/assets/javascripts/spree/backend/orders/index.js +2 -0
  26. data/app/assets/javascripts/spree/backend/payments/edit.js.coffee +0 -1
  27. data/app/assets/javascripts/spree/backend/payments/new.js +0 -11
  28. data/app/assets/javascripts/spree/backend/promotions.js.coffee +48 -50
  29. data/app/assets/javascripts/spree/backend/promotions/activation.js +26 -0
  30. data/app/assets/javascripts/spree/backend/returns/return_item_selection.js +16 -16
  31. data/app/assets/javascripts/spree/backend/shipments.js +1 -1
  32. data/app/assets/javascripts/spree/backend/spree-select2.js +1 -6
  33. data/app/assets/javascripts/spree/backend/stock_transfers/variant_form.coffee +1 -1
  34. data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +0 -5
  35. data/app/assets/javascripts/spree/backend/taxonomy.js.coffee +9 -9
  36. data/app/assets/javascripts/spree/backend/taxons.js.coffee +7 -7
  37. data/app/assets/javascripts/spree/backend/templates/_image.hbs +5 -0
  38. data/app/assets/javascripts/spree/backend/templates/index.js +3 -0
  39. data/app/assets/javascripts/spree/backend/templates/orders/details_adjustment_row.hbs +4 -0
  40. data/app/assets/javascripts/spree/backend/templates/orders/line_item.hbs +42 -0
  41. data/app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_flat_rate.hbs +2 -2
  42. data/app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_percent.hbs +2 -2
  43. data/app/assets/javascripts/spree/backend/templates/promotions/rules/option_values.hbs +2 -2
  44. data/app/assets/javascripts/spree/backend/templates/stock_transfers/{transfer_item.hbs.erb → transfer_item.hbs} +1 -5
  45. data/app/assets/javascripts/spree/backend/templates/variants/{autocomplete.hbs.erb → autocomplete.hbs} +1 -5
  46. data/app/assets/javascripts/spree/backend/templates/variants/line_items_autocomplete_stock.hbs +18 -59
  47. data/app/assets/javascripts/spree/backend/translation.js +29 -0
  48. data/app/assets/javascripts/spree/backend/variant_autocomplete.js.coffee +5 -4
  49. data/app/assets/javascripts/spree/backend/views/cart/add_line_item_button.js +19 -0
  50. data/app/assets/javascripts/spree/backend/views/cart/line_item_row.js +88 -0
  51. data/app/assets/javascripts/spree/backend/views/cart/line_item_table.js +11 -0
  52. data/app/assets/javascripts/spree/backend/views/index.js +12 -0
  53. data/app/assets/javascripts/spree/backend/views/number_with_currency.js +31 -0
  54. data/app/assets/javascripts/spree/backend/views/order/address.js +52 -0
  55. data/app/assets/javascripts/spree/backend/views/order/customer_details.js +68 -0
  56. data/app/assets/javascripts/spree/backend/views/order/customer_select.js +55 -0
  57. data/app/assets/javascripts/spree/backend/views/order/details_adjustments.js +39 -0
  58. data/app/assets/javascripts/spree/backend/views/order/details_total.js +12 -0
  59. data/app/assets/javascripts/spree/backend/views/order/summary.js +36 -0
  60. data/app/assets/javascripts/spree/backend/views/state_select.js +71 -0
  61. data/app/assets/javascripts/spree/backend/views/zones/form.js +16 -0
  62. data/app/assets/javascripts/spree/backend/zone.js +8 -0
  63. data/app/assets/stylesheets/spree/backend.css +1 -1
  64. data/app/assets/stylesheets/spree/backend/_bootstrap_custom.scss +542 -246
  65. data/app/assets/stylesheets/spree/backend/components/_date-picker.scss +5 -7
  66. data/app/assets/stylesheets/spree/backend/components/_image_placeholder.scss +24 -0
  67. data/app/assets/stylesheets/spree/backend/components/_messages.scss +8 -8
  68. data/app/assets/stylesheets/spree/backend/components/_navigation.scss +6 -15
  69. data/app/assets/stylesheets/spree/backend/components/_number_with_currency.scss +39 -0
  70. data/app/assets/stylesheets/spree/backend/components/_progress.scss +5 -5
  71. data/app/assets/stylesheets/spree/backend/components/_states.scss +6 -6
  72. data/app/assets/stylesheets/spree/backend/components/_stock_table.scss +1 -2
  73. data/app/assets/stylesheets/spree/backend/components/_tabs.scss +9 -9
  74. data/app/assets/stylesheets/spree/backend/globals/_deprecation.scss +17 -0
  75. data/app/assets/stylesheets/spree/backend/globals/_variables.scss +25 -4
  76. data/app/assets/stylesheets/spree/backend/globals/mixins/_line_through.scss +1 -1
  77. data/app/assets/stylesheets/spree/backend/plugins/_bootstrap_tooltip.scss +4 -4
  78. data/app/assets/stylesheets/spree/backend/plugins/_select2.scss +64 -187
  79. data/app/assets/stylesheets/spree/backend/sections/_log_entries.scss +3 -3
  80. data/app/assets/stylesheets/spree/backend/sections/_orders.scss +16 -20
  81. data/app/assets/stylesheets/spree/backend/sections/_products.scss +2 -2
  82. data/app/assets/stylesheets/spree/backend/sections/_promotions.scss +7 -2
  83. data/app/assets/stylesheets/spree/backend/sections/_return_authorizations.scss +0 -14
  84. data/app/assets/stylesheets/spree/backend/sections/_stock_management.scss +2 -2
  85. data/app/assets/stylesheets/spree/backend/sections/_store_credits.scss +0 -6
  86. data/app/assets/stylesheets/spree/backend/sections/_style_guide.scss +6 -6
  87. data/app/assets/stylesheets/spree/backend/sections/_taxonomies.scss +1 -1
  88. data/app/assets/stylesheets/spree/backend/shared/_forms.scss +31 -123
  89. data/app/assets/stylesheets/spree/backend/shared/_header.scss +5 -4
  90. data/app/assets/stylesheets/spree/backend/shared/_icons.scss +1 -1
  91. data/app/assets/stylesheets/spree/backend/shared/_images.scss +7 -0
  92. data/app/assets/stylesheets/spree/backend/shared/_layout.scss +4 -14
  93. data/app/assets/stylesheets/spree/backend/shared/_tables.scss +21 -32
  94. data/app/assets/stylesheets/spree/backend/shared/_typography.scss +14 -47
  95. data/app/assets/stylesheets/spree/backend/spree_admin.scss +4 -0
  96. data/app/controllers/spree/admin/adjustments_controller.rb +1 -1
  97. data/app/controllers/spree/admin/base_controller.rb +1 -1
  98. data/app/controllers/spree/admin/cancellations_controller.rb +1 -1
  99. data/app/controllers/spree/admin/customer_returns_controller.rb +2 -0
  100. data/app/controllers/spree/admin/general_settings_controller.rb +1 -27
  101. data/app/controllers/spree/admin/images_controller.rb +1 -1
  102. data/app/controllers/spree/admin/option_types_controller.rb +4 -4
  103. data/app/controllers/spree/admin/orders/customer_details_controller.rb +2 -2
  104. data/app/controllers/spree/admin/orders_controller.rb +2 -2
  105. data/app/controllers/spree/admin/payment_methods_controller.rb +1 -1
  106. data/app/controllers/spree/admin/payments_controller.rb +4 -4
  107. data/app/controllers/spree/admin/products_controller.rb +6 -6
  108. data/app/controllers/spree/admin/promotion_code_batches_controller.rb +28 -0
  109. data/app/controllers/spree/admin/promotion_codes_controller.rb +7 -3
  110. data/app/controllers/spree/admin/promotions_controller.rb +13 -23
  111. data/app/controllers/spree/admin/refunds_controller.rb +1 -1
  112. data/app/controllers/spree/admin/reimbursements_controller.rb +4 -2
  113. data/app/controllers/spree/admin/search_controller.rb +2 -2
  114. data/app/controllers/spree/admin/shipping_methods_controller.rb +2 -2
  115. data/app/controllers/spree/admin/states_controller.rb +1 -1
  116. data/app/controllers/spree/admin/stock_items_controller.rb +3 -3
  117. data/app/controllers/spree/admin/stock_transfers_controller.rb +2 -2
  118. data/app/controllers/spree/admin/store_credits_controller.rb +8 -2
  119. data/app/controllers/spree/admin/stores_controller.rb +23 -0
  120. data/app/controllers/spree/admin/tax_rates_controller.rb +3 -3
  121. data/app/controllers/spree/admin/taxons_controller.rb +5 -5
  122. data/app/controllers/spree/admin/users_controller.rb +1 -8
  123. data/app/controllers/spree/admin/variants_controller.rb +9 -2
  124. data/app/controllers/spree/admin/zones_controller.rb +3 -3
  125. data/app/helpers/spree/admin/base_helper.rb +2 -1
  126. data/app/helpers/spree/admin/navigation_helper.rb +2 -2
  127. data/app/models/spree/backend_configuration.rb +3 -3
  128. data/app/views/spree/admin/adjustment_reasons/edit.html.erb +3 -3
  129. data/app/views/spree/admin/adjustment_reasons/index.html.erb +1 -1
  130. data/app/views/spree/admin/adjustment_reasons/new.html.erb +3 -3
  131. data/app/views/spree/admin/adjustment_reasons/shared/_form.html.erb +3 -3
  132. data/app/views/spree/admin/adjustments/_adjustment.html.erb +2 -2
  133. data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +1 -1
  134. data/app/views/spree/admin/adjustments/_form.html.erb +3 -3
  135. data/app/views/spree/admin/adjustments/edit.html.erb +5 -5
  136. data/app/views/spree/admin/adjustments/index.html.erb +4 -4
  137. data/app/views/spree/admin/adjustments/new.html.erb +4 -4
  138. data/app/views/spree/admin/cancellations/index.html.erb +1 -1
  139. data/app/views/spree/admin/countries/_form.html.erb +5 -5
  140. data/app/views/spree/admin/countries/edit.html.erb +3 -3
  141. data/app/views/spree/admin/countries/index.html.erb +3 -3
  142. data/app/views/spree/admin/countries/new.html.erb +3 -3
  143. data/app/views/spree/admin/customer_returns/_return_item_decision.html.erb +6 -6
  144. data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +5 -5
  145. data/app/views/spree/admin/customer_returns/edit.html.erb +1 -1
  146. data/app/views/spree/admin/customer_returns/index.html.erb +2 -2
  147. data/app/views/spree/admin/customer_returns/new.html.erb +5 -5
  148. data/app/views/spree/admin/images/_form.html.erb +2 -2
  149. data/app/views/spree/admin/images/_image_row.html.erb +5 -3
  150. data/app/views/spree/admin/images/edit.html.erb +7 -7
  151. data/app/views/spree/admin/images/index.html.erb +3 -3
  152. data/app/views/spree/admin/images/new.html.erb +3 -3
  153. data/app/views/spree/admin/log_entries/index.html.erb +1 -1
  154. data/app/views/spree/admin/option_types/_form.html.erb +4 -4
  155. data/app/views/spree/admin/option_types/_option_value_fields.html.erb +1 -1
  156. data/app/views/spree/admin/option_types/edit.html.erb +5 -5
  157. data/app/views/spree/admin/option_types/index.html.erb +4 -4
  158. data/app/views/spree/admin/option_types/new.html.erb +3 -3
  159. data/app/views/spree/admin/option_types/new.js.erb +1 -1
  160. data/app/views/spree/admin/orders/_add_line_item.html.erb +2 -2
  161. data/app/views/spree/admin/orders/_add_product.html.erb +3 -6
  162. data/app/views/spree/admin/orders/_adjustments.html.erb +18 -20
  163. data/app/views/spree/admin/orders/_carton_manifest.html.erb +1 -1
  164. data/app/views/spree/admin/orders/_form.html.erb +5 -29
  165. data/app/views/spree/admin/orders/_line_items.html.erb +22 -48
  166. data/app/views/spree/admin/orders/_line_items_edit_form.html.erb +6 -31
  167. data/app/views/spree/admin/orders/_order_details.html.erb +32 -0
  168. data/app/views/spree/admin/orders/_shipment.html.erb +10 -13
  169. data/app/views/spree/admin/orders/_shipment_manifest.html.erb +3 -3
  170. data/app/views/spree/admin/orders/cart.html.erb +4 -14
  171. data/app/views/spree/admin/orders/confirm.html.erb +3 -3
  172. data/app/views/spree/admin/orders/confirm/_customer_details.html.erb +2 -2
  173. data/app/views/spree/admin/orders/confirm/_payments.html.erb +1 -1
  174. data/app/views/spree/admin/orders/confirm/_shipment_manifest.html.erb +1 -1
  175. data/app/views/spree/admin/orders/customer_details/_form.html.erb +24 -20
  176. data/app/views/spree/admin/orders/customer_details/edit.html.erb +13 -11
  177. data/app/views/spree/admin/orders/customer_details/show.html.erb +2 -2
  178. data/app/views/spree/admin/orders/edit.html.erb +2 -1
  179. data/app/views/spree/admin/orders/index.html.erb +22 -20
  180. data/app/views/spree/admin/payment_methods/_form.html.erb +6 -6
  181. data/app/views/spree/admin/payment_methods/edit.html.erb +3 -3
  182. data/app/views/spree/admin/payment_methods/index.html.erb +4 -4
  183. data/app/views/spree/admin/payment_methods/new.html.erb +3 -3
  184. data/app/views/spree/admin/payments/_form.html.erb +10 -8
  185. data/app/views/spree/admin/payments/_list.html.erb +2 -2
  186. data/app/views/spree/admin/payments/credit.html.erb +1 -1
  187. data/app/views/spree/admin/payments/index.html.erb +3 -3
  188. data/app/views/spree/admin/payments/new.html.erb +4 -4
  189. data/app/views/spree/admin/payments/show.html.erb +3 -3
  190. data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +6 -9
  191. data/app/views/spree/admin/payments/source_views/_gateway.html.erb +1 -1
  192. data/app/views/spree/admin/payments/source_views/_storecredit.html.erb +1 -1
  193. data/app/views/spree/admin/prices/_form.html.erb +4 -15
  194. data/app/views/spree/admin/prices/_master_variant_table.html.erb +3 -3
  195. data/app/views/spree/admin/prices/_table.html.erb +2 -2
  196. data/app/views/spree/admin/prices/edit.html.erb +1 -1
  197. data/app/views/spree/admin/prices/index.html.erb +6 -6
  198. data/app/views/spree/admin/prices/new.html.erb +2 -2
  199. data/app/views/spree/admin/prices/new.js.erb +1 -1
  200. data/app/views/spree/admin/product_properties/index.html.erb +5 -5
  201. data/app/views/spree/admin/products/_form.html.erb +21 -27
  202. data/app/views/spree/admin/products/edit.html.erb +6 -6
  203. data/app/views/spree/admin/products/index.html.erb +15 -15
  204. data/app/views/spree/admin/products/new.html.erb +14 -14
  205. data/app/views/spree/admin/products/new.js.erb +1 -1
  206. data/app/views/spree/admin/promotion_actions/create.js.erb +3 -2
  207. data/app/views/spree/admin/promotion_categories/_form.html.erb +4 -4
  208. data/app/views/spree/admin/promotion_categories/edit.html.erb +3 -3
  209. data/app/views/spree/admin/promotion_categories/index.html.erb +2 -2
  210. data/app/views/spree/admin/promotion_categories/new.html.erb +3 -3
  211. data/app/views/spree/admin/promotion_code_batches/download.csv.ruby +6 -0
  212. data/app/views/spree/admin/promotion_code_batches/index.html.erb +65 -0
  213. data/app/views/spree/admin/promotion_code_batches/new.html.erb +23 -0
  214. data/app/views/spree/admin/promotion_codes/index.csv.ruby +1 -1
  215. data/app/views/spree/admin/promotion_codes/index.html.erb +28 -0
  216. data/app/views/spree/admin/promotion_rules/create.js.erb +1 -1
  217. data/app/views/spree/admin/promotions/_actions.html.erb +4 -4
  218. data/app/views/spree/admin/promotions/_activations_edit.html.erb +22 -0
  219. data/app/views/spree/admin/promotions/_activations_new.html.erb +66 -0
  220. data/app/views/spree/admin/promotions/_form.html.erb +51 -64
  221. data/app/views/spree/admin/promotions/_promotion_action.html.erb +4 -4
  222. data/app/views/spree/admin/promotions/_promotion_rule.html.erb +4 -4
  223. data/app/views/spree/admin/promotions/_rules.html.erb +6 -8
  224. data/app/views/spree/admin/promotions/actions/_create_quantity_adjustments.html.erb +2 -2
  225. data/app/views/spree/admin/promotions/actions/_promotion_calculators_with_custom_fields.html.erb +21 -22
  226. data/app/views/spree/admin/promotions/calculators/flat_rate/_fields.html.erb +4 -0
  227. data/app/views/spree/admin/promotions/calculators/tiered_flat_rate/_fields.html.erb +8 -6
  228. data/app/views/spree/admin/promotions/calculators/tiered_percent/_fields.html.erb +8 -6
  229. data/app/views/spree/admin/promotions/edit.html.erb +15 -12
  230. data/app/views/spree/admin/promotions/index.html.erb +9 -9
  231. data/app/views/spree/admin/promotions/new.html.erb +5 -6
  232. data/app/views/spree/admin/promotions/rules/_first_repeat_purchase_since.html.erb +3 -3
  233. data/app/views/spree/admin/promotions/rules/_item_total.html.erb +7 -10
  234. data/app/views/spree/admin/promotions/rules/_landing_page.html.erb +2 -2
  235. data/app/views/spree/admin/promotions/rules/_nth_order.html.erb +4 -4
  236. data/app/views/spree/admin/promotions/rules/_option_value.html.erb +3 -3
  237. data/app/views/spree/admin/promotions/rules/_product.html.erb +4 -4
  238. data/app/views/spree/admin/promotions/rules/_taxon.html.erb +4 -4
  239. data/app/views/spree/admin/promotions/rules/_user.html.erb +1 -1
  240. data/app/views/spree/admin/properties/_form.html.erb +4 -4
  241. data/app/views/spree/admin/properties/edit.html.erb +3 -3
  242. data/app/views/spree/admin/properties/index.html.erb +7 -7
  243. data/app/views/spree/admin/properties/new.html.erb +3 -3
  244. data/app/views/spree/admin/properties/new.js.erb +1 -1
  245. data/app/views/spree/admin/refund_reasons/edit.html.erb +3 -3
  246. data/app/views/spree/admin/refund_reasons/index.html.erb +1 -1
  247. data/app/views/spree/admin/refund_reasons/new.html.erb +3 -3
  248. data/app/views/spree/admin/refund_reasons/shared/_form.html.erb +3 -3
  249. data/app/views/spree/admin/refunds/edit.html.erb +2 -2
  250. data/app/views/spree/admin/refunds/new.html.erb +4 -4
  251. data/app/views/spree/admin/reimbursements/edit.html.erb +6 -6
  252. data/app/views/spree/admin/reimbursements/index.html.erb +2 -2
  253. data/app/views/spree/admin/reimbursements/show.html.erb +6 -6
  254. data/app/views/spree/admin/reports/sales_total.html.erb +1 -1
  255. data/app/views/spree/admin/return_authorizations/_form.html.erb +3 -7
  256. data/app/views/spree/admin/return_authorizations/edit.html.erb +3 -3
  257. data/app/views/spree/admin/return_authorizations/index.html.erb +3 -3
  258. data/app/views/spree/admin/return_authorizations/new.html.erb +3 -3
  259. data/app/views/spree/admin/shared/_address_form.html.erb +12 -20
  260. data/app/views/spree/admin/shared/_calculator_fields.html.erb +10 -13
  261. data/app/views/spree/admin/shared/_configuration_menu.html.erb +2 -2
  262. data/app/views/spree/admin/shared/_head.html.erb +1 -1
  263. data/app/views/spree/admin/shared/_image.html.erb +7 -0
  264. data/app/views/spree/admin/shared/_js_locale_data.html.erb +47 -0
  265. data/app/views/spree/admin/shared/_new_resource_links.html.erb +1 -1
  266. data/app/views/spree/admin/shared/_number_with_currency.html.erb +16 -0
  267. data/app/views/spree/admin/shared/_order_submenu.html.erb +1 -1
  268. data/app/views/spree/admin/shared/_order_summary.html.erb +16 -17
  269. data/app/views/spree/admin/shared/_product_tabs.html.erb +6 -6
  270. data/app/views/spree/admin/shared/_report_criteria.html.erb +7 -7
  271. data/app/views/spree/admin/shared/_report_order_criteria.html.erb +9 -9
  272. data/app/views/spree/admin/shared/_settings_sub_menu.html.erb +2 -2
  273. data/app/views/spree/admin/shared/_sidebar.html.erb +1 -1
  274. data/app/views/spree/admin/shared/_variant_search.html.erb +4 -4
  275. data/app/views/spree/admin/shared/named_types/_edit.html.erb +3 -3
  276. data/app/views/spree/admin/shared/named_types/_form.html.erb +8 -10
  277. data/app/views/spree/admin/shared/named_types/_index.html.erb +1 -1
  278. data/app/views/spree/admin/shared/named_types/_new.html.erb +3 -3
  279. data/app/views/spree/admin/shipping_categories/edit.html.erb +3 -3
  280. data/app/views/spree/admin/shipping_categories/index.html.erb +3 -3
  281. data/app/views/spree/admin/shipping_categories/new.html.erb +3 -3
  282. data/app/views/spree/admin/shipping_methods/_form.html.erb +15 -15
  283. data/app/views/spree/admin/shipping_methods/edit.html.erb +3 -3
  284. data/app/views/spree/admin/shipping_methods/index.html.erb +4 -4
  285. data/app/views/spree/admin/shipping_methods/new.html.erb +3 -3
  286. data/app/views/spree/admin/states/_form.html.erb +4 -4
  287. data/app/views/spree/admin/states/_new.html.erb +2 -2
  288. data/app/views/spree/admin/states/_state_list.html.erb +2 -2
  289. data/app/views/spree/admin/states/edit.html.erb +3 -3
  290. data/app/views/spree/admin/states/index.html.erb +6 -6
  291. data/app/views/spree/admin/states/new.html.erb +3 -3
  292. data/app/views/spree/admin/stock_items/_stock_management.html.erb +3 -3
  293. data/app/views/spree/admin/stock_items/index.html.erb +4 -4
  294. data/app/views/spree/admin/stock_locations/_form.html.erb +10 -10
  295. data/app/views/spree/admin/stock_locations/_transfer_stock_form.html.erb +5 -5
  296. data/app/views/spree/admin/stock_locations/edit.html.erb +3 -3
  297. data/app/views/spree/admin/stock_locations/index.html.erb +4 -4
  298. data/app/views/spree/admin/stock_locations/new.html.erb +3 -3
  299. data/app/views/spree/admin/stock_movements/index.html.erb +2 -8
  300. data/app/views/spree/admin/stock_transfers/_stock_movements.html.erb +1 -1
  301. data/app/views/spree/admin/stock_transfers/_transfer_item_table.html.erb +1 -1
  302. data/app/views/spree/admin/stock_transfers/edit.html.erb +1 -1
  303. data/app/views/spree/admin/stock_transfers/index.html.erb +9 -9
  304. data/app/views/spree/admin/stock_transfers/receive.html.erb +1 -1
  305. data/app/views/spree/admin/stock_transfers/show.html.erb +5 -5
  306. data/app/views/spree/admin/store_credits/_form.html.erb +7 -6
  307. data/app/views/spree/admin/store_credits/_update_reason_field.html.erb +1 -1
  308. data/app/views/spree/admin/store_credits/edit_amount.html.erb +1 -1
  309. data/app/views/spree/admin/store_credits/index.html.erb +14 -11
  310. data/app/views/spree/admin/store_credits/new.html.erb +2 -2
  311. data/app/views/spree/admin/stores/_form.html.erb +51 -0
  312. data/app/views/spree/admin/stores/edit.html.erb +19 -0
  313. data/app/views/spree/admin/stores/index.html.erb +41 -0
  314. data/app/views/spree/admin/stores/new.html.erb +15 -0
  315. data/app/views/spree/admin/style_guide/topics/forms/_building_forms.html.erb +10 -8
  316. data/app/views/spree/admin/style_guide/topics/tables/_building_tables.html.erb +23 -4
  317. data/app/views/spree/admin/tax_categories/_form.html.erb +8 -8
  318. data/app/views/spree/admin/tax_categories/edit.html.erb +3 -3
  319. data/app/views/spree/admin/tax_categories/index.html.erb +4 -4
  320. data/app/views/spree/admin/tax_categories/new.html.erb +3 -3
  321. data/app/views/spree/admin/tax_rates/_form.html.erb +7 -7
  322. data/app/views/spree/admin/tax_rates/edit.html.erb +3 -3
  323. data/app/views/spree/admin/tax_rates/index.html.erb +3 -3
  324. data/app/views/spree/admin/tax_rates/new.html.erb +3 -3
  325. data/app/views/spree/admin/taxonomies/_form.html.erb +1 -1
  326. data/app/views/spree/admin/taxonomies/_list.html.erb +2 -2
  327. data/app/views/spree/admin/taxonomies/_taxon.html.erb +1 -1
  328. data/app/views/spree/admin/taxonomies/edit.erb +1 -1
  329. data/app/views/spree/admin/taxonomies/index.html.erb +2 -2
  330. data/app/views/spree/admin/taxonomies/new.html.erb +1 -1
  331. data/app/views/spree/admin/taxons/_form.html.erb +10 -10
  332. data/app/views/spree/admin/taxons/_taxon_table.html.erb +1 -1
  333. data/app/views/spree/admin/taxons/edit.html.erb +2 -2
  334. data/app/views/spree/admin/taxons/index.html.erb +2 -2
  335. data/app/views/spree/admin/users/_addresses_form.html.erb +4 -4
  336. data/app/views/spree/admin/users/_form.html.erb +8 -7
  337. data/app/views/spree/admin/users/addresses.html.erb +5 -5
  338. data/app/views/spree/admin/users/edit.html.erb +15 -15
  339. data/app/views/spree/admin/users/index.html.erb +5 -5
  340. data/app/views/spree/admin/users/items.html.erb +7 -7
  341. data/app/views/spree/admin/users/new.html.erb +3 -3
  342. data/app/views/spree/admin/users/orders.html.erb +7 -7
  343. data/app/views/spree/admin/variants/_form.html.erb +14 -14
  344. data/app/views/spree/admin/variants/_table.html.erb +2 -2
  345. data/app/views/spree/admin/variants/_table_filter.html.erb +3 -3
  346. data/app/views/spree/admin/variants/edit.html.erb +4 -4
  347. data/app/views/spree/admin/variants/index.html.erb +2 -2
  348. data/app/views/spree/admin/variants/new.html.erb +4 -4
  349. data/app/views/spree/admin/variants/new.js.erb +1 -1
  350. data/app/views/spree/admin/zones/_country_members.html.erb +1 -1
  351. data/app/views/spree/admin/zones/_form.html.erb +9 -9
  352. data/app/views/spree/admin/zones/_state_members.html.erb +1 -1
  353. data/app/views/spree/admin/zones/edit.html.erb +3 -3
  354. data/app/views/spree/admin/zones/index.html.erb +6 -6
  355. data/app/views/spree/admin/zones/new.html.erb +3 -3
  356. data/app/views/spree/layouts/admin.html.erb +3 -3
  357. data/app/views/spree/layouts/admin_style_guide.html.erb +1 -1
  358. data/config/initializers/assets.rb +1 -7
  359. data/config/routes.rb +6 -2
  360. data/lib/spree/backend.rb +0 -1
  361. data/lib/spree/backend/engine.rb +0 -5
  362. data/solidus_backend.gemspec +0 -1
  363. data/spec/controllers/spree/admin/payments_controller_spec.rb +21 -7
  364. data/spec/controllers/spree/admin/promotions_controller_spec.rb +30 -36
  365. data/spec/controllers/spree/admin/store_credits_controller_spec.rb +1 -0
  366. data/spec/controllers/spree/admin/users_controller_spec.rb +9 -1
  367. data/spec/features/admin/configuration/payment_methods_spec.rb +1 -1
  368. data/spec/features/admin/configuration/shipping_methods_spec.rb +21 -13
  369. data/spec/features/admin/configuration/stock_locations_spec.rb +3 -2
  370. data/spec/features/admin/configuration/{general_settings_spec.rb → store_spec.rb} +8 -9
  371. data/spec/features/admin/javascript_format_money_spec.rb +20 -0
  372. data/spec/features/admin/orders/customer_details_spec.rb +16 -12
  373. data/spec/features/admin/orders/line_items_spec.rb +2 -2
  374. data/spec/features/admin/orders/listing_spec.rb +25 -10
  375. data/spec/features/admin/orders/new_order_spec.rb +18 -31
  376. data/spec/features/admin/orders/order_details_spec.rb +22 -27
  377. data/spec/features/admin/orders/payments_spec.rb +5 -12
  378. data/spec/features/admin/orders/shipments_spec.rb +36 -2
  379. data/spec/features/admin/products/edit/images_spec.rb +1 -1
  380. data/spec/features/admin/products/edit/products_spec.rb +3 -3
  381. data/spec/features/admin/products/pricing_spec.rb +1 -1
  382. data/spec/features/admin/promotion_adjustments_spec.rb +42 -20
  383. data/spec/features/admin/stock_transfer_spec.rb +4 -4
  384. data/spec/features/admin/users_spec.rb +14 -0
  385. data/spec/javascripts/fixtures/_boot.html.erb +8 -0
  386. data/spec/javascripts/fixtures/number_with_currency/with_currency_select.html.erb +3 -0
  387. data/spec/javascripts/fixtures/number_with_currency/without_select.html.erb +3 -0
  388. data/spec/javascripts/format_money_spec.js +48 -0
  389. data/spec/javascripts/spec_helper.js +11 -0
  390. data/spec/javascripts/support/show_errors.js +8 -0
  391. data/spec/javascripts/support/with_translations.js +11 -0
  392. data/spec/javascripts/translation_spec.js +50 -0
  393. data/spec/javascripts/views/number_with_currency_spec.js +72 -0
  394. data/spec/spec_helper.rb +1 -0
  395. data/spec/support/feature/order_feature_helper.rb +8 -0
  396. data/spec/teaspoon_env.rb +17 -0
  397. data/vendor/assets/images/solidus_admin/select2-spinner.gif +0 -0
  398. data/vendor/assets/images/solidus_admin/select2.png +0 -0
  399. data/vendor/assets/images/solidus_admin/select2x2.png +0 -0
  400. data/vendor/assets/javascripts/solidus_admin/accounting.js +4 -0
  401. data/vendor/assets/javascripts/solidus_admin/backbone-nested-models.js +193 -0
  402. data/vendor/assets/javascripts/solidus_admin/bootstrap.js +1775 -1800
  403. data/vendor/assets/javascripts/solidus_admin/select2.js +3729 -0
  404. data/vendor/assets/javascripts/solidus_admin/select2_locales/index.js +1 -0
  405. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_ar.js +19 -0
  406. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_az.js +20 -0
  407. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_bg.js +20 -0
  408. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_ca.js +19 -0
  409. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_cs.js +51 -0
  410. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_da.js +19 -0
  411. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_de.js +18 -0
  412. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_el.js +19 -0
  413. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_es.js +19 -0
  414. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_et.js +19 -0
  415. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_eu.js +45 -0
  416. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_fa.js +21 -0
  417. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_fi.js +30 -0
  418. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_fr.js +18 -0
  419. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_gl.js +45 -0
  420. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_he.js +19 -0
  421. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_hr.js +24 -0
  422. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_hu.js +17 -0
  423. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_id.js +21 -0
  424. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_is.js +17 -0
  425. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_it.js +17 -0
  426. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_ja.js +17 -0
  427. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_ka.js +19 -0
  428. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_ko.js +19 -0
  429. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_lt.js +26 -0
  430. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_lv.js +19 -0
  431. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_mk.js +19 -0
  432. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_ms.js +21 -0
  433. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_nb.js +22 -0
  434. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_nl.js +17 -0
  435. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_pl.js +54 -0
  436. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_pt-BR.js +18 -0
  437. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_pt-PT.js +17 -0
  438. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_ro.js +17 -0
  439. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_rs.js +19 -0
  440. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_ru.js +23 -0
  441. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_sk.js +50 -0
  442. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_sv.js +19 -0
  443. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_th.js +19 -0
  444. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_tr.js +20 -0
  445. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_ug-CN.js +16 -0
  446. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_uk.js +25 -0
  447. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_vi.js +20 -0
  448. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_zh-CN.js +16 -0
  449. data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_zh-TW.js +16 -0
  450. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_alert.scss +5 -15
  451. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_badge.scss +77 -0
  452. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_breadcrumb.scss +25 -10
  453. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_button-group.scss +38 -60
  454. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_buttons.scss +27 -30
  455. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_card.scss +66 -82
  456. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_carousel.scss +99 -173
  457. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_close.scss +6 -3
  458. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_code.scss +13 -7
  459. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_custom-forms.scss +151 -114
  460. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_custom.scss +4 -0
  461. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_dropdown.scss +28 -60
  462. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_forms.scss +154 -218
  463. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_grid.scss +22 -46
  464. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_images.scss +7 -17
  465. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_input-group.scss +43 -54
  466. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_list-group.scss +80 -79
  467. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_media.scss +6 -84
  468. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_mixins.scss +9 -7
  469. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_modal.scss +38 -42
  470. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_nav.scss +41 -84
  471. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_navbar.scss +171 -133
  472. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_normalize.scss +230 -197
  473. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_pagination.scss +16 -22
  474. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_popover.scss +87 -56
  475. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_print.scss +96 -65
  476. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_progress.scss +17 -141
  477. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_reboot.scss +76 -34
  478. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_responsive-embed.scss +18 -5
  479. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_tables.scss +26 -66
  480. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_tooltip.scss +23 -18
  481. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_transitions.scss +34 -0
  482. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_type.scss +16 -30
  483. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_utilities.scss +13 -95
  484. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_variables.scss +542 -247
  485. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap-grid.scss +20 -39
  486. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap-reboot.scss +2 -2
  487. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap.scss +6 -8
  488. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_background-variant.scss +1 -2
  489. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/{_label.scss → _badge.scss} +2 -2
  490. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_breakpoints.scss +25 -16
  491. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_buttons.scss +39 -53
  492. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_cards.scss +11 -2
  493. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_clearfix.scss +1 -1
  494. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_float.scss +9 -0
  495. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_forms.scss +11 -21
  496. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_gradients.scss +5 -11
  497. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_grid-framework.scss +39 -18
  498. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_grid.scss +52 -27
  499. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_hover.scss +10 -9
  500. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_image.scss +6 -4
  501. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_list-group.scss +3 -5
  502. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_pagination.scss +2 -3
  503. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_reset-text.scss +3 -4
  504. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_screen-reader.scss +2 -2
  505. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-emphasis.scss +1 -1
  506. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-hide.scss +1 -1
  507. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_transforms.scss +14 -0
  508. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_visibility.scss +5 -0
  509. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_align.scss +6 -0
  510. data/vendor/assets/stylesheets/solidus_admin/bootstrap/{_utilities-background.scss → utilities/_background.scss} +3 -8
  511. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_borders.scss +37 -0
  512. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_clearfix.scss +3 -0
  513. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_display.scss +18 -0
  514. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_flex.scss +48 -0
  515. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_float.scss +9 -0
  516. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_position.scss +23 -0
  517. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_screenreaders.scss +11 -0
  518. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_sizing.scss +10 -0
  519. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_spacing.scss +43 -0
  520. data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_text.scss +61 -0
  521. data/vendor/assets/stylesheets/solidus_admin/bootstrap/{_utilities-responsive.scss → utilities/_visibility.scss} +7 -1
  522. data/vendor/assets/stylesheets/solidus_admin/select2.scss +692 -0
  523. metadata +149 -48
  524. data/app/assets/javascripts/spree/backend/handlebars_extensions.coffee +0 -19
  525. data/app/assets/javascripts/spree/backend/line_items.js.coffee +0 -55
  526. data/app/assets/javascripts/spree/backend/line_items_on_order_edit.js +0 -62
  527. data/app/assets/javascripts/spree/backend/returns/expedited_exchanges_warning.coffee +0 -4
  528. data/app/assets/javascripts/spree/backend/stock_movement.js.coffee +0 -21
  529. data/app/assets/javascripts/spree/backend/variant_management.js.coffee +0 -10
  530. data/app/assets/javascripts/spree/backend/zone.js.coffee +0 -43
  531. data/app/views/spree/admin/general_settings/edit.html.erb +0 -80
  532. data/app/views/spree/admin/shared/_translations.html.erb +0 -29
  533. data/app/views/spree/admin/stock_movements/_form.html.erb +0 -12
  534. data/app/views/spree/admin/stock_movements/new.html.erb +0 -15
  535. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_animation.scss +0 -27
  536. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_labels.scss +0 -77
  537. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_pager.scss +0 -57
  538. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_utilities-spacing.scss +0 -39
  539. data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap-flex.scss +0 -8
  540. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_center-block.scss +0 -7
  541. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_progress.scss +0 -18
  542. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_pulls.scss +0 -6
  543. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_reset-filter.scss +0 -8
  544. data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_tab-focus.scss +0 -9
@@ -7,19 +7,22 @@
7
7
  // So reset our font and text properties to avoid inheriting weird values.
8
8
  @include reset-text();
9
9
  font-size: $font-size-sm;
10
+ // Allow breaking very long words so they don't overflow the tooltip's bounds
11
+ word-wrap: break-word;
10
12
  opacity: 0;
11
13
 
12
- &.in { opacity: $tooltip-opacity; }
14
+ &.show { opacity: $tooltip-opacity; }
13
15
 
14
16
  &.tooltip-top,
15
17
  &.bs-tether-element-attached-bottom {
16
18
  padding: $tooltip-arrow-width 0;
17
- margin-top: -3px;
19
+ margin-top: -$tooltip-margin;
18
20
 
19
- .tooltip-arrow {
21
+ .tooltip-inner::before {
20
22
  bottom: 0;
21
23
  left: 50%;
22
24
  margin-left: -$tooltip-arrow-width;
25
+ content: "";
23
26
  border-width: $tooltip-arrow-width $tooltip-arrow-width 0;
24
27
  border-top-color: $tooltip-arrow-color;
25
28
  }
@@ -27,12 +30,13 @@
27
30
  &.tooltip-right,
28
31
  &.bs-tether-element-attached-left {
29
32
  padding: 0 $tooltip-arrow-width;
30
- margin-left: 3px;
33
+ margin-left: $tooltip-margin;
31
34
 
32
- .tooltip-arrow {
35
+ .tooltip-inner::before {
33
36
  top: 50%;
34
37
  left: 0;
35
38
  margin-top: -$tooltip-arrow-width;
39
+ content: "";
36
40
  border-width: $tooltip-arrow-width $tooltip-arrow-width $tooltip-arrow-width 0;
37
41
  border-right-color: $tooltip-arrow-color;
38
42
  }
@@ -40,12 +44,13 @@
40
44
  &.tooltip-bottom,
41
45
  &.bs-tether-element-attached-top {
42
46
  padding: $tooltip-arrow-width 0;
43
- margin-top: 3px;
47
+ margin-top: $tooltip-margin;
44
48
 
45
- .tooltip-arrow {
49
+ .tooltip-inner::before {
46
50
  top: 0;
47
51
  left: 50%;
48
52
  margin-left: -$tooltip-arrow-width;
53
+ content: "";
49
54
  border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;
50
55
  border-bottom-color: $tooltip-arrow-color;
51
56
  }
@@ -53,12 +58,13 @@
53
58
  &.tooltip-left,
54
59
  &.bs-tether-element-attached-right {
55
60
  padding: 0 $tooltip-arrow-width;
56
- margin-left: -3px;
61
+ margin-left: -$tooltip-margin;
57
62
 
58
- .tooltip-arrow {
63
+ .tooltip-inner::before {
59
64
  top: 50%;
60
65
  right: 0;
61
66
  margin-top: -$tooltip-arrow-width;
67
+ content: "";
62
68
  border-width: $tooltip-arrow-width 0 $tooltip-arrow-width $tooltip-arrow-width;
63
69
  border-left-color: $tooltip-arrow-color;
64
70
  }
@@ -68,18 +74,17 @@
68
74
  // Wrapper for the tooltip content
69
75
  .tooltip-inner {
70
76
  max-width: $tooltip-max-width;
71
- padding: 3px 8px;
77
+ padding: $tooltip-padding-y $tooltip-padding-x;
72
78
  color: $tooltip-color;
73
79
  text-align: center;
74
80
  background-color: $tooltip-bg;
75
81
  @include border-radius($border-radius);
76
- }
77
82
 
78
- // Arrows
79
- .tooltip-arrow {
80
- position: absolute;
81
- width: 0;
82
- height: 0;
83
- border-color: transparent;
84
- border-style: solid;
83
+ &::before {
84
+ position: absolute;
85
+ width: 0;
86
+ height: 0;
87
+ border-color: transparent;
88
+ border-style: solid;
89
+ }
85
90
  }
@@ -0,0 +1,34 @@
1
+ .fade {
2
+ opacity: 0;
3
+ @include transition($transition-fade);
4
+
5
+ &.show {
6
+ opacity: 1;
7
+ }
8
+ }
9
+
10
+ .collapse {
11
+ display: none;
12
+ &.show {
13
+ display: block;
14
+ }
15
+ }
16
+
17
+ tr {
18
+ &.collapse.show {
19
+ display: table-row;
20
+ }
21
+ }
22
+
23
+ tbody {
24
+ &.collapse.show {
25
+ display: table-row-group;
26
+ }
27
+ }
28
+
29
+ .collapsing {
30
+ position: relative;
31
+ height: 0;
32
+ overflow: hidden;
33
+ @include transition($transition-collapse);
34
+ }
@@ -11,22 +11,12 @@ h1, h2, h3, h4, h5, h6,
11
11
  color: $headings-color;
12
12
  }
13
13
 
14
- h1 { font-size: $font-size-h1; }
15
- h2 { font-size: $font-size-h2; }
16
- h3 { font-size: $font-size-h3; }
17
- h4 { font-size: $font-size-h4; }
18
- h5 { font-size: $font-size-h5; }
19
- h6 { font-size: $font-size-h6; }
20
-
21
- // These declarations are kept separate from and placed after
22
- // the previous tag-based declarations so that the classes beat the tags in
23
- // the CSS cascade, and thus <h1 class="h2"> will be styled like an h2.
24
- .h1 { font-size: $font-size-h1; }
25
- .h2 { font-size: $font-size-h2; }
26
- .h3 { font-size: $font-size-h3; }
27
- .h4 { font-size: $font-size-h4; }
28
- .h5 { font-size: $font-size-h5; }
29
- .h6 { font-size: $font-size-h6; }
14
+ h1, .h1 { font-size: $font-size-h1; }
15
+ h2, .h2 { font-size: $font-size-h2; }
16
+ h3, .h3 { font-size: $font-size-h3; }
17
+ h4, .h4 { font-size: $font-size-h4; }
18
+ h5, .h5 { font-size: $font-size-h5; }
19
+ h6, .h6 { font-size: $font-size-h6; }
30
20
 
31
21
  .lead {
32
22
  font-size: $lead-font-size;
@@ -37,18 +27,22 @@ h6 { font-size: $font-size-h6; }
37
27
  .display-1 {
38
28
  font-size: $display1-size;
39
29
  font-weight: $display1-weight;
30
+ line-height: $display-line-height;
40
31
  }
41
32
  .display-2 {
42
33
  font-size: $display2-size;
43
34
  font-weight: $display2-weight;
35
+ line-height: $display-line-height;
44
36
  }
45
37
  .display-3 {
46
38
  font-size: $display3-size;
47
39
  font-weight: $display3-weight;
40
+ line-height: $display-line-height;
48
41
  }
49
42
  .display-4 {
50
43
  font-size: $display4-size;
51
44
  font-weight: $display4-weight;
45
+ line-height: $display-line-height;
52
46
  }
53
47
 
54
48
 
@@ -70,14 +64,14 @@ hr {
70
64
 
71
65
  small,
72
66
  .small {
73
- font-size: 80%;
74
- font-weight: normal;
67
+ font-size: $small-font-size;
68
+ font-weight: $font-weight-normal;
75
69
  }
76
70
 
77
71
  mark,
78
72
  .mark {
79
- padding: .2em;
80
- background-color: $state-warning-bg;
73
+ padding: $mark-padding;
74
+ background-color: $mark-bg;
81
75
  }
82
76
 
83
77
 
@@ -101,13 +95,6 @@ mark,
101
95
  }
102
96
  }
103
97
 
104
- // Horizontal description lists w/ grid classes
105
- .dl-horizontal {
106
- margin-right: -$grid-gutter-width;
107
- margin-left: -$grid-gutter-width;
108
- @include clearfix;
109
- }
110
-
111
98
 
112
99
  //
113
100
  // Misc
@@ -124,13 +111,12 @@ mark,
124
111
  padding: ($spacer / 2) $spacer;
125
112
  margin-bottom: $spacer;
126
113
  font-size: $blockquote-font-size;
127
- border-left: .25rem solid $blockquote-border-color;
114
+ border-left: $blockquote-border-width solid $blockquote-border-color;
128
115
  }
129
116
 
130
117
  .blockquote-footer {
131
118
  display: block;
132
119
  font-size: 80%; // back to default font-size
133
- line-height: $line-height;
134
120
  color: $blockquote-small-color;
135
121
 
136
122
  &::before {
@@ -143,7 +129,7 @@ mark,
143
129
  padding-right: $spacer;
144
130
  padding-left: 0;
145
131
  text-align: right;
146
- border-right: .25rem solid $blockquote-border-color;
132
+ border-right: $blockquote-border-width solid $blockquote-border-color;
147
133
  border-left: 0;
148
134
  }
149
135
 
@@ -1,95 +1,13 @@
1
- //
2
- // Floats
3
- //
4
-
5
- .clearfix {
6
- @include clearfix();
7
- }
8
-
9
- .center-block {
10
- @include center-block();
11
- }
12
-
13
- @each $breakpoint in map-keys($grid-breakpoints) {
14
- @include media-breakpoint-up($breakpoint) {
15
- .pull-#{$breakpoint}-left {
16
- @include pull-left();
17
- }
18
- .pull-#{$breakpoint}-right {
19
- @include pull-right();
20
- }
21
- .pull-#{$breakpoint}-none {
22
- float: none !important;
23
- }
24
- }
25
- }
26
-
27
-
28
- //
29
- // Screenreaders
30
- //
31
-
32
- .sr-only {
33
- @include sr-only();
34
- }
35
-
36
- .sr-only-focusable {
37
- @include sr-only-focusable();
38
- }
39
-
40
- .invisible {
41
- visibility: hidden !important;
42
- }
43
-
44
- .text-hide {
45
- @include text-hide();
46
- }
47
-
48
-
49
- //
50
- // Text
51
- //
52
-
53
- // Alignment
54
-
55
- .text-justify { text-align: justify !important; }
56
- .text-nowrap { white-space: nowrap !important; }
57
- .text-truncate { @include text-truncate; }
58
-
59
- // Responsive alignment
60
-
61
- @each $breakpoint in map-keys($grid-breakpoints) {
62
- @include media-breakpoint-up($breakpoint) {
63
- .text-#{$breakpoint}-left { text-align: left !important; }
64
- .text-#{$breakpoint}-right { text-align: right !important; }
65
- .text-#{$breakpoint}-center { text-align: center !important; }
66
- }
67
- }
68
-
69
- // Transformation
70
-
71
- .text-lowercase { text-transform: lowercase !important; }
72
- .text-uppercase { text-transform: uppercase !important; }
73
- .text-capitalize { text-transform: capitalize !important; }
74
-
75
- // Weight and italics
76
-
77
- .font-weight-normal { font-weight: normal; }
78
- .font-weight-bold { font-weight: bold; }
79
- .font-italic { font-style: italic; }
80
-
81
- // Contextual colors
82
-
83
- .text-muted {
84
- color: $text-muted;
85
- }
86
-
87
- @include text-emphasis-variant('.text-primary', $brand-primary);
88
-
89
- @include text-emphasis-variant('.text-success', $brand-success);
90
-
91
- @include text-emphasis-variant('.text-info', $brand-info);
92
-
93
- @include text-emphasis-variant('.text-warning', $brand-warning);
94
-
95
- @include text-emphasis-variant('.text-danger', $brand-danger);
1
+ @import "utilities/align";
2
+ @import "utilities/background";
3
+ @import "utilities/borders";
4
+ @import "utilities/clearfix";
5
+ @import "utilities/display";
6
+ @import "utilities/flex";
7
+ @import "utilities/float";
8
+ @import "utilities/position";
9
+ @import "utilities/screenreaders";
10
+ @import "utilities/sizing";
11
+ @import "utilities/spacing";
12
+ @import "utilities/text";
13
+ @import "utilities/visibility";
@@ -16,6 +16,71 @@
16
16
  // Grid columns
17
17
  // Fonts
18
18
  // Components
19
+ // Tables
20
+ // Buttons
21
+ // Forms
22
+ // Dropdowns
23
+ // Z-index master list
24
+ // Navbar
25
+ // Navs
26
+ // Pagination
27
+ // Jumbotron
28
+ // Form states and alerts
29
+ // Cards
30
+ // Tooltips
31
+ // Popovers
32
+ // Badges
33
+ // Modals
34
+ // Alerts
35
+ // Progress bars
36
+ // List group
37
+ // Image thumbnails
38
+ // Figures
39
+ // Breadcrumbs
40
+ // Carousel
41
+ // Close
42
+ // Code
43
+
44
+ @mixin _assert-ascending($map, $map-name) {
45
+ $prev-key: null;
46
+ $prev-num: null;
47
+ @each $key, $num in $map {
48
+ @if $prev-num == null {
49
+ // Do nothing
50
+ } @else if not comparable($prev-num, $num) {
51
+ @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
52
+ } @else if $prev-num >= $num {
53
+ @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
54
+ }
55
+ $prev-key: $key;
56
+ $prev-num: $num;
57
+ }
58
+ }
59
+
60
+ // Replace `$search` with `$replace` in `$string`
61
+ // @author Hugo Giraudel
62
+ // @param {String} $string - Initial string
63
+ // @param {String} $search - Substring to replace
64
+ // @param {String} $replace ('') - New value
65
+ // @return {String} - Updated string
66
+ @function str-replace($string, $search, $replace: "") {
67
+ $index: str-index($string, $search);
68
+
69
+ @if $index {
70
+ @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
71
+ }
72
+
73
+ @return $string;
74
+ }
75
+
76
+ @mixin _assert-starts-at-zero($map) {
77
+ $values: map-values($map);
78
+ $first-value: nth($values, 1);
79
+ @if $first-value != 0 {
80
+ @warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
81
+ }
82
+ }
83
+
19
84
 
20
85
  // General variable structure
21
86
  //
@@ -26,96 +91,126 @@
26
91
  //
27
92
  // Grayscale and brand colors for use across Bootstrap.
28
93
 
29
- $gray-dark: #373a3c !default;
30
- $gray: #55595c !default;
31
- $gray-light: #818a91 !default;
94
+ // Start with assigning color names to specific hex values.
95
+ $white: #fff !default;
96
+ $black: #000 !default;
97
+ $red: #d9534f !default;
98
+ $orange: #f0ad4e !default;
99
+ $yellow: #ffd500 !default;
100
+ $green: #5cb85c !default;
101
+ $blue: #0275d8 !default;
102
+ $teal: #5bc0de !default;
103
+ $pink: #ff5b77 !default;
104
+ $purple: #613d7c !default;
105
+
106
+ // Create grayscale
107
+ $gray-dark: #292b2c !default;
108
+ $gray: #464a4c !default;
109
+ $gray-light: #636c72 !default;
32
110
  $gray-lighter: #eceeef !default;
33
111
  $gray-lightest: #f7f7f9 !default;
34
112
 
35
- $brand-primary: #0275d8 !default;
36
- $brand-success: #5cb85c !default;
37
- $brand-info: #5bc0de !default;
38
- $brand-warning: #f0ad4e !default;
39
- $brand-danger: #d9534f !default;
113
+ // Reassign color vars to semantic color scheme
114
+ $brand-primary: $blue !default;
115
+ $brand-success: $green !default;
116
+ $brand-info: $teal !default;
117
+ $brand-warning: $orange !default;
118
+ $brand-danger: $red !default;
119
+ $brand-inverse: $gray-dark !default;
40
120
 
41
121
 
42
122
  // Options
43
123
  //
44
124
  // Quickly modify global styling by enabling or disabling optional features.
45
125
 
46
- $enable-flex: false !default;
47
126
  $enable-rounded: true !default;
48
127
  $enable-shadows: false !default;
49
128
  $enable-gradients: false !default;
50
- $enable-transitions: false !default;
129
+ $enable-transitions: true !default;
51
130
  $enable-hover-media-query: false !default;
52
131
  $enable-grid-classes: true !default;
132
+ $enable-print-styles: true !default;
53
133
 
54
134
 
55
135
  // Spacing
56
136
  //
57
137
  // Control the default styling of most Bootstrap elements by modifying these
58
138
  // variables. Mostly focused on spacing.
139
+ // You can add more entries to the $spacers map, should you need more variation.
59
140
 
60
- $spacer: 1rem !default;
61
- $spacer-x: $spacer !default;
62
- $spacer-y: $spacer !default;
141
+ $spacer: 1rem !default;
142
+ $spacer-x: $spacer !default;
143
+ $spacer-y: $spacer !default;
63
144
  $spacers: (
64
145
  0: (
65
- x: 0,
66
- y: 0
146
+ x: 0,
147
+ y: 0
67
148
  ),
68
149
  1: (
69
- x: $spacer-x,
70
- y: $spacer-y
150
+ x: ($spacer-x * .25),
151
+ y: ($spacer-y * .25)
71
152
  ),
72
153
  2: (
73
- x: ($spacer-x * 1.5),
74
- y: ($spacer-y * 1.5)
154
+ x: ($spacer-x * .5),
155
+ y: ($spacer-y * .5)
75
156
  ),
76
157
  3: (
77
- x: ($spacer-x * 3),
78
- y: ($spacer-y * 3)
158
+ x: $spacer-x,
159
+ y: $spacer-y
160
+ ),
161
+ 4: (
162
+ x: ($spacer-x * 1.5),
163
+ y: ($spacer-y * 1.5)
164
+ ),
165
+ 5: (
166
+ x: ($spacer-x * 3),
167
+ y: ($spacer-y * 3)
79
168
  )
80
169
  ) !default;
81
- $border-width: 1px !default;
82
-
170
+ $border-width: 1px !default;
171
+
172
+ // This variable affects the `.h-*` and `.w-*` classes.
173
+ $sizes: (
174
+ 25: 25%,
175
+ 50: 50%,
176
+ 75: 75%,
177
+ 100: 100%
178
+ ) !default;
83
179
 
84
180
  // Body
85
181
  //
86
182
  // Settings for the `<body>` element.
87
183
 
88
- $body-bg: #fff !default;
89
- $body-color: $gray-dark !default;
184
+ $body-bg: $white !default;
185
+ $body-color: $gray-dark !default;
186
+ $inverse-bg: $gray-dark !default;
187
+ $inverse-color: $gray-lighter !default;
90
188
 
91
189
 
92
190
  // Links
93
191
  //
94
192
  // Style anchor elements.
95
193
 
96
- $link-color: $brand-primary !default;
97
- $link-decoration: none !default;
98
- $link-hover-color: darken($link-color, 15%) !default;
99
- $link-hover-decoration: underline !default;
194
+ $link-color: $brand-primary !default;
195
+ $link-decoration: none !default;
196
+ $link-hover-color: darken($link-color, 15%) !default;
197
+ $link-hover-decoration: underline !default;
100
198
 
101
199
 
102
200
  // Grid breakpoints
103
201
  //
104
- // Define the minimum and maximum dimensions at which your layout will change,
202
+ // Define the minimum dimensions at which your layout will change,
105
203
  // adapting to different screen sizes, for use in media queries.
106
204
 
107
205
  $grid-breakpoints: (
108
- // Extra small screen / phone
109
206
  xs: 0,
110
- // Small screen / phone
111
- sm: 544px,
112
- // Medium screen / tablet
207
+ sm: 576px,
113
208
  md: 768px,
114
- // Large screen / desktop
115
209
  lg: 992px,
116
- // Extra large screen / wide desktop
117
210
  xl: 1200px
118
211
  ) !default;
212
+ @include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
213
+ @include _assert-starts-at-zero($grid-breakpoints);
119
214
 
120
215
 
121
216
  // Grid containers
@@ -123,11 +218,12 @@ $grid-breakpoints: (
123
218
  // Define the maximum width of `.container` for different screen sizes.
124
219
 
125
220
  $container-max-widths: (
126
- sm: 576px,
221
+ sm: 540px,
127
222
  md: 720px,
128
- lg: 940px,
223
+ lg: 960px,
129
224
  xl: 1140px
130
225
  ) !default;
226
+ @include _assert-ascending($container-max-widths, "$container-max-widths");
131
227
 
132
228
 
133
229
  // Grid columns
@@ -135,70 +231,84 @@ $container-max-widths: (
135
231
  // Set the number of columns and specify the width of the gutters.
136
232
 
137
233
  $grid-columns: 12 !default;
138
- $grid-gutter-width: 1.875rem !default; // 30px
139
-
234
+ $grid-gutter-width-base: 30px !default;
235
+ $grid-gutter-widths: (
236
+ xs: $grid-gutter-width-base,
237
+ sm: $grid-gutter-width-base,
238
+ md: $grid-gutter-width-base,
239
+ lg: $grid-gutter-width-base,
240
+ xl: $grid-gutter-width-base
241
+ ) !default;
140
242
 
141
- // Typography
243
+ // Fonts
142
244
  //
143
245
  // Font, line-height, and color for body text, headings, and more.
144
246
 
145
- $font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif !default;
146
- $font-family-serif: Georgia, "Times New Roman", Times, serif !default;
147
- $font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace !default;
148
- $font-family-base: $font-family-sans-serif !default;
247
+ $font-family-sans-serif: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
248
+ $font-family-serif: Georgia, "Times New Roman", Times, serif !default;
249
+ $font-family-monospace: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
250
+ $font-family-base: $font-family-sans-serif !default;
149
251
 
150
- // Pixel value used to responsively scale all typography. Applied to the `<html>` element.
151
- $font-size-root: 16px !default;
252
+ $font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
253
+ $font-size-lg: 1.25rem !default;
254
+ $font-size-sm: .875rem !default;
255
+ $font-size-xs: .75rem !default;
152
256
 
153
- $font-size-base: 1rem !default;
154
- $font-size-lg: 1.25rem !default;
155
- $font-size-sm: .875rem !default;
156
- $font-size-xs: .75rem !default;
257
+ $font-weight-normal: normal !default;
258
+ $font-weight-bold: bold !default;
157
259
 
158
- $font-size-h1: 2.5rem !default;
159
- $font-size-h2: 2rem !default;
160
- $font-size-h3: 1.75rem !default;
161
- $font-size-h4: 1.5rem !default;
162
- $font-size-h5: 1.25rem !default;
163
- $font-size-h6: 1rem !default;
260
+ $font-weight-base: $font-weight-normal !default;
261
+ $line-height-base: 1.5 !default;
164
262
 
165
- $display1-size: 6rem !default;
166
- $display2-size: 5.5rem !default;
167
- $display3-size: 4.5rem !default;
168
- $display4-size: 3.5rem !default;
263
+ $font-size-h1: 2.5rem !default;
264
+ $font-size-h2: 2rem !default;
265
+ $font-size-h3: 1.75rem !default;
266
+ $font-size-h4: 1.5rem !default;
267
+ $font-size-h5: 1.25rem !default;
268
+ $font-size-h6: 1rem !default;
169
269
 
170
- $display1-weight: 300 !default;
171
- $display2-weight: 300 !default;
172
- $display3-weight: 300 !default;
173
- $display4-weight: 300 !default;
270
+ $headings-margin-bottom: ($spacer / 2) !default;
271
+ $headings-font-family: inherit !default;
272
+ $headings-font-weight: 500 !default;
273
+ $headings-line-height: 1.1 !default;
274
+ $headings-color: inherit !default;
174
275
 
175
- $line-height: 1.5 !default;
276
+ $display1-size: 6rem !default;
277
+ $display2-size: 5.5rem !default;
278
+ $display3-size: 4.5rem !default;
279
+ $display4-size: 3.5rem !default;
176
280
 
177
- $headings-margin-bottom: ($spacer / 2) !default;
178
- $headings-font-family: inherit !default;
179
- $headings-font-weight: 500 !default;
180
- $headings-line-height: 1.1 !default;
181
- $headings-color: inherit !default;
281
+ $display1-weight: 300 !default;
282
+ $display2-weight: 300 !default;
283
+ $display3-weight: 300 !default;
284
+ $display4-weight: 300 !default;
285
+ $display-line-height: $headings-line-height !default;
182
286
 
183
- $lead-font-size: 1.25rem !default;
184
- $lead-font-weight: 300 !default;
287
+ $lead-font-size: 1.25rem !default;
288
+ $lead-font-weight: 300 !default;
185
289
 
186
- $text-muted: $gray-light !default;
290
+ $small-font-size: 80% !default;
187
291
 
188
- $abbr-border-color: $gray-light !default;
292
+ $text-muted: $gray-light !default;
189
293
 
190
- $blockquote-small-color: $gray-light !default;
191
- $blockquote-font-size: ($font-size-base * 1.25) !default;
192
- $blockquote-border-color: $gray-lighter !default;
294
+ $abbr-border-color: $gray-light !default;
193
295
 
194
- $hr-border-color: rgba(0,0,0,.1) !default;
195
- $hr-border-width: $border-width !default;
296
+ $blockquote-small-color: $gray-light !default;
297
+ $blockquote-font-size: ($font-size-base * 1.25) !default;
298
+ $blockquote-border-color: $gray-lighter !default;
299
+ $blockquote-border-width: .25rem !default;
196
300
 
197
- $dt-font-weight: bold !default;
301
+ $hr-border-color: rgba($black,.1) !default;
302
+ $hr-border-width: $border-width !default;
198
303
 
199
- $nested-kbd-font-weight: bold !default;
304
+ $mark-padding: .2em !default;
200
305
 
201
- $list-inline-padding: 5px !default;
306
+ $dt-font-weight: $font-weight-bold !default;
307
+
308
+ $kbd-box-shadow: inset 0 -.1rem 0 rgba($black,.25) !default;
309
+ $nested-kbd-font-weight: $font-weight-bold !default;
310
+
311
+ $list-inline-padding: 5px !default;
202
312
 
203
313
 
204
314
  // Components
@@ -212,11 +322,14 @@ $border-radius: .25rem !default;
212
322
  $border-radius-lg: .3rem !default;
213
323
  $border-radius-sm: .2rem !default;
214
324
 
215
- $component-active-color: #fff !default;
325
+ $component-active-color: $white !default;
216
326
  $component-active-bg: $brand-primary !default;
217
327
 
218
328
  $caret-width: .3em !default;
219
- $caret-width-lg: $caret-width !default;
329
+
330
+ $transition-base: all .2s ease-in-out !default;
331
+ $transition-fade: opacity .15s linear !default;
332
+ $transition-collapse: height .35s ease !default;
220
333
 
221
334
 
222
335
  // Tables
@@ -227,10 +340,17 @@ $table-cell-padding: .75rem !default;
227
340
  $table-sm-cell-padding: .3rem !default;
228
341
 
229
342
  $table-bg: transparent !default;
230
- $table-bg-accent: #f9f9f9 !default;
231
- $table-bg-hover: #f5f5f5 !default;
343
+
344
+ $table-inverse-bg: $gray-dark !default;
345
+ $table-inverse-color: $body-bg !default;
346
+
347
+ $table-bg-accent: rgba($black,.05) !default;
348
+ $table-bg-hover: rgba($black,.075) !default;
232
349
  $table-bg-active: $table-bg-hover !default;
233
350
 
351
+ $table-head-bg: $gray-lighter !default;
352
+ $table-head-color: $gray !default;
353
+
234
354
  $table-border-width: $border-width !default;
235
355
  $table-border-color: $gray-lighter !default;
236
356
 
@@ -240,79 +360,103 @@ $table-border-color: $gray-lighter !default;
240
360
  // For each of Bootstrap's buttons, define text, background and border color.
241
361
 
242
362
  $btn-padding-x: 1rem !default;
243
- $btn-padding-y: .375rem !default;
244
- $btn-font-weight: normal !default;
245
-
246
- $btn-primary-color: #fff !default;
363
+ $btn-padding-y: .5rem !default;
364
+ $btn-line-height: 1.25 !default;
365
+ $btn-font-weight: $font-weight-normal !default;
366
+ $btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;
367
+ $btn-focus-box-shadow: 0 0 0 2px rgba($brand-primary, .25) !default;
368
+ $btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;
369
+
370
+ $btn-primary-color: $white !default;
247
371
  $btn-primary-bg: $brand-primary !default;
248
372
  $btn-primary-border: $btn-primary-bg !default;
249
373
 
250
374
  $btn-secondary-color: $gray-dark !default;
251
- $btn-secondary-bg: #fff !default;
375
+ $btn-secondary-bg: $white !default;
252
376
  $btn-secondary-border: #ccc !default;
253
377
 
254
- $btn-info-color: #fff !default;
378
+ $btn-info-color: $white !default;
255
379
  $btn-info-bg: $brand-info !default;
256
380
  $btn-info-border: $btn-info-bg !default;
257
381
 
258
- $btn-success-color: #fff !default;
382
+ $btn-success-color: $white !default;
259
383
  $btn-success-bg: $brand-success !default;
260
384
  $btn-success-border: $btn-success-bg !default;
261
385
 
262
- $btn-warning-color: #fff !default;
386
+ $btn-warning-color: $white !default;
263
387
  $btn-warning-bg: $brand-warning !default;
264
388
  $btn-warning-border: $btn-warning-bg !default;
265
389
 
266
- $btn-danger-color: #fff !default;
390
+ $btn-danger-color: $white !default;
267
391
  $btn-danger-bg: $brand-danger !default;
268
392
  $btn-danger-border: $btn-danger-bg !default;
269
393
 
270
394
  $btn-link-disabled-color: $gray-light !default;
271
395
 
272
- $btn-padding-x-sm: .75rem !default;
396
+ $btn-padding-x-sm: .5rem !default;
273
397
  $btn-padding-y-sm: .25rem !default;
274
398
 
275
- $btn-padding-x-lg: 1.25rem !default;
399
+ $btn-padding-x-lg: 1.5rem !default;
276
400
  $btn-padding-y-lg: .75rem !default;
277
401
 
402
+ $btn-block-spacing-y: .5rem !default;
403
+ $btn-toolbar-margin: .5rem !default;
404
+
278
405
  // Allows for customizing button radius independently from global border radius
279
406
  $btn-border-radius: $border-radius !default;
280
407
  $btn-border-radius-lg: $border-radius-lg !default;
281
408
  $btn-border-radius-sm: $border-radius-sm !default;
282
409
 
410
+ $btn-transition: all .2s ease-in-out !default;
411
+
283
412
 
284
413
  // Forms
285
414
 
286
415
  $input-padding-x: .75rem !default;
287
- $input-padding-y: .375rem !default;
416
+ $input-padding-y: .5rem !default;
417
+ $input-line-height: 1.25 !default;
288
418
 
289
- $input-bg: #fff !default;
419
+ $input-bg: $white !default;
290
420
  $input-bg-disabled: $gray-lighter !default;
291
421
 
292
422
  $input-color: $gray !default;
293
- $input-border-color: #ccc !default;
423
+ $input-border-color: rgba($black,.15) !default;
294
424
  $input-btn-border-width: $border-width !default; // For form controls and buttons
295
- $input-box-shadow: inset 0 1px 1px rgba(0,0,0,.075) !default;
425
+ $input-box-shadow: inset 0 1px 1px rgba($black,.075) !default;
296
426
 
297
427
  $input-border-radius: $border-radius !default;
298
428
  $input-border-radius-lg: $border-radius-lg !default;
299
429
  $input-border-radius-sm: $border-radius-sm !default;
300
430
 
301
- $input-border-focus: #66afe9 !default;
302
- $input-box-shadow-focus: rgba(102,175,233,.6) !default;
431
+ $input-bg-focus: $input-bg !default;
432
+ $input-border-focus: lighten($brand-primary, 25%) !default;
433
+ $input-box-shadow-focus: $input-box-shadow, rgba($input-border-focus, .6) !default;
434
+ $input-color-focus: $input-color !default;
303
435
 
304
- $input-color-placeholder: #999 !default;
436
+ $input-color-placeholder: $gray-light !default;
305
437
 
306
- $input-padding-x-sm: .75rem !default;
307
- $input-padding-y-sm: .275rem !default;
438
+ $input-padding-x-sm: .5rem !default;
439
+ $input-padding-y-sm: .25rem !default;
308
440
 
309
- $input-padding-x-lg: 1.25rem !default;
441
+ $input-padding-x-lg: 1.5rem !default;
310
442
  $input-padding-y-lg: .75rem !default;
311
443
 
312
- $input-height: (($font-size-base * $line-height) + ($input-padding-y * 2)) !default;
444
+ $input-height: (($font-size-base * $input-line-height) + ($input-padding-y * 2)) !default;
313
445
  $input-height-lg: (($font-size-lg * $line-height-lg) + ($input-padding-y-lg * 2)) !default;
314
446
  $input-height-sm: (($font-size-sm * $line-height-sm) + ($input-padding-y-sm * 2)) !default;
315
447
 
448
+ $input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;
449
+
450
+ $form-text-margin-top: .25rem !default;
451
+ $form-feedback-margin-top: $form-text-margin-top !default;
452
+
453
+ $form-check-margin-bottom: .5rem !default;
454
+ $form-check-input-gutter: 1.25rem !default;
455
+ $form-check-input-margin-y: .25rem !default;
456
+ $form-check-input-margin-x: .25rem !default;
457
+
458
+ $form-check-inline-margin-x: .75rem !default;
459
+
316
460
  $form-group-margin-bottom: $spacer-y !default;
317
461
 
318
462
  $input-group-addon-bg: $gray-lighter !default;
@@ -320,30 +464,122 @@ $input-group-addon-border-color: $input-border-color !default;
320
464
 
321
465
  $cursor-disabled: not-allowed !default;
322
466
 
467
+ $custom-control-gutter: 1.5rem !default;
468
+ $custom-control-spacer-x: 1rem !default;
469
+ $custom-control-spacer-y: .25rem !default;
470
+
471
+ $custom-control-indicator-size: 1rem !default;
472
+ $custom-control-indicator-margin-y: (($line-height-base * 1rem) - $custom-control-indicator-size) / -2 !default;
473
+ $custom-control-indicator-bg: #ddd !default;
474
+ $custom-control-indicator-bg-size: 50% 50% !default;
475
+ $custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;
476
+
477
+ $custom-control-disabled-cursor: $cursor-disabled !default;
478
+ $custom-control-disabled-indicator-bg: $gray-lighter !default;
479
+ $custom-control-disabled-description-color: $gray-light !default;
480
+
481
+ $custom-control-checked-indicator-color: $white !default;
482
+ $custom-control-checked-indicator-bg: $brand-primary !default;
483
+ $custom-control-checked-indicator-box-shadow: none !default;
484
+
485
+ $custom-control-focus-indicator-box-shadow: 0 0 0 1px $body-bg, 0 0 0 3px $brand-primary !default;
486
+
487
+ $custom-control-active-indicator-color: $white !default;
488
+ $custom-control-active-indicator-bg: lighten($brand-primary, 35%) !default;
489
+ $custom-control-active-indicator-box-shadow: none !default;
490
+
491
+ $custom-checkbox-radius: $border-radius !default;
492
+ $custom-checkbox-checked-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-checked-indicator-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default;
493
+
494
+ $custom-checkbox-indeterminate-bg: $brand-primary !default;
495
+ $custom-checkbox-indeterminate-indicator-color: $custom-control-checked-indicator-color !default;
496
+ $custom-checkbox-indeterminate-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indeterminate-indicator-color}' d='M0 2h4'/%3E%3C/svg%3E"), "#", "%23") !default;
497
+ $custom-checkbox-indeterminate-box-shadow: none !default;
498
+
499
+ $custom-radio-radius: 50% !default;
500
+ $custom-radio-checked-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-checked-indicator-color}'/%3E%3C/svg%3E"), "#", "%23") !default;
501
+
502
+ $custom-select-padding-x: .75rem !default;
503
+ $custom-select-padding-y: .375rem !default;
504
+ $custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
505
+ $custom-select-line-height: $input-line-height !default;
506
+ $custom-select-color: $input-color !default;
507
+ $custom-select-disabled-color: $gray-light !default;
508
+ $custom-select-bg: $white !default;
509
+ $custom-select-disabled-bg: $gray-lighter !default;
510
+ $custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
511
+ $custom-select-indicator-color: #333 !default;
512
+ $custom-select-indicator: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E"), "#", "%23") !default;
513
+ $custom-select-border-width: $input-btn-border-width !default;
514
+ $custom-select-border-color: $input-border-color !default;
515
+ $custom-select-border-radius: $border-radius !default;
516
+
517
+ $custom-select-focus-border-color: lighten($brand-primary, 25%) !default;
518
+ $custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;
519
+
520
+ $custom-select-sm-padding-y: .2rem !default;
521
+ $custom-select-sm-font-size: 75% !default;
522
+
523
+ $custom-file-height: 2.5rem !default;
524
+ $custom-file-width: 14rem !default;
525
+ $custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem $brand-primary !default;
526
+
527
+ $custom-file-padding-x: .5rem !default;
528
+ $custom-file-padding-y: 1rem !default;
529
+ $custom-file-line-height: 1.5 !default;
530
+ $custom-file-color: $gray !default;
531
+ $custom-file-bg: $white !default;
532
+ $custom-file-border-width: $border-width !default;
533
+ $custom-file-border-color: $input-border-color !default;
534
+ $custom-file-border-radius: $border-radius !default;
535
+ $custom-file-box-shadow: inset 0 .2rem .4rem rgba($black,.05) !default;
536
+ $custom-file-button-color: $custom-file-color !default;
537
+ $custom-file-button-bg: $gray-lighter !default;
538
+ $custom-file-text: (
539
+ placeholder: (
540
+ en: "Choose file..."
541
+ ),
542
+ button-label: (
543
+ en: "Browse"
544
+ )
545
+ ) !default;
546
+
547
+
323
548
  // Form validation icons
324
- $form-icon-success: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjNWNiODVjIiBkPSJNMjMzLjggNjEwYy0xMy4zIDAtMjYtNi0zNC0xNi44TDkwLjUgNDQ4LjhDNzYuMyA0MzAgODAgNDAzLjMgOTguOCAzODljMTguOC0xNC4yIDQ1LjUtMTAuNCA1OS44IDguNGw3MiA5NUw0NTEuMyAyNDJjMTIuNS0yMCAzOC44LTI2LjIgNTguOC0xMy43IDIwIDEyLjQgMjYgMzguNyAxMy43IDU4LjhMMjcwIDU5MGMtNy40IDEyLTIwLjIgMTkuNC0zNC4zIDIwaC0yeiIvPjwvc3ZnPg==" !default;
325
- $form-icon-warning: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZjBhZDRlIiBkPSJNNjAzIDY0MC4ybC0yNzguNS01MDljLTMuOC02LjYtMTAuOC0xMC42LTE4LjUtMTAuNnMtMTQuNyA0LTE4LjUgMTAuNkw5IDY0MC4yYy0zLjcgNi41LTMuNiAxNC40LjIgMjAuOCAzLjggNi41IDEwLjggMTAuNCAxOC4zIDEwLjRoNTU3YzcuNiAwIDE0LjYtNCAxOC40LTEwLjQgMy41LTYuNCAzLjYtMTQuNCAwLTIwLjh6bS0yNjYuNC0zMGgtNjEuMlY1NDloNjEuMnY2MS4yem0wLTEwN2gtNjEuMlYzMDRoNjEuMnYxOTl6Ii8+PC9zdmc+" !default;
326
- $form-icon-danger: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZDk1MzRmIiBkPSJNNDQ3IDU0NC40Yy0xNC40IDE0LjQtMzcuNiAxNC40LTUyIDBsLTg5LTkyLjctODkgOTIuN2MtMTQuNSAxNC40LTM3LjcgMTQuNC01MiAwLTE0LjQtMTQuNC0xNC40LTM3LjYgMC01Mmw5Mi40LTk2LjMtOTIuNC05Ni4zYy0xNC40LTE0LjQtMTQuNC0zNy42IDAtNTJzMzcuNi0xNC4zIDUyIDBsODkgOTIuOCA4OS4yLTkyLjdjMTQuNC0xNC40IDM3LjYtMTQuNCA1MiAwIDE0LjMgMTQuNCAxNC4zIDM3LjYgMCA1MkwzNTQuNiAzOTZsOTIuNCA5Ni40YzE0LjQgMTQuNCAxNC40IDM3LjYgMCA1MnoiLz48L3N2Zz4=" !default;
549
+ $form-icon-success-color: $brand-success !default;
550
+ $form-icon-success: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-success-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E"), "#", "%23") !default;
551
+
552
+ $form-icon-warning-color: $brand-warning !default;
553
+ $form-icon-warning: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-warning-color}' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"), "#", "%23") !default;
554
+
555
+ $form-icon-danger-color: $brand-danger !default;
556
+ $form-icon-danger: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-icon-danger-color}' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"), "#", "%23") !default;
327
557
 
328
558
 
329
559
  // Dropdowns
330
560
  //
331
561
  // Dropdown menu container and contents.
332
562
 
333
- $dropdown-bg: #fff !default;
334
- $dropdown-border-color: rgba(0,0,0,.15) !default;
563
+ $dropdown-min-width: 10rem !default;
564
+ $dropdown-padding-y: .5rem !default;
565
+ $dropdown-margin-top: .125rem !default;
566
+ $dropdown-bg: $white !default;
567
+ $dropdown-border-color: rgba($black,.15) !default;
335
568
  $dropdown-border-width: $border-width !default;
336
- $dropdown-divider-bg: #e5e5e5 !default;
569
+ $dropdown-divider-bg: $gray-lighter !default;
570
+ $dropdown-box-shadow: 0 .5rem 1rem rgba($black,.175) !default;
337
571
 
338
572
  $dropdown-link-color: $gray-dark !default;
339
573
  $dropdown-link-hover-color: darken($gray-dark, 5%) !default;
340
- $dropdown-link-hover-bg: #f5f5f5 !default;
574
+ $dropdown-link-hover-bg: $gray-lightest !default;
341
575
 
342
576
  $dropdown-link-active-color: $component-active-color !default;
343
577
  $dropdown-link-active-bg: $component-active-bg !default;
344
578
 
345
579
  $dropdown-link-disabled-color: $gray-light !default;
346
580
 
581
+ $dropdown-item-padding-x: 1.5rem !default;
582
+
347
583
  $dropdown-header-color: $gray-light !default;
348
584
 
349
585
 
@@ -352,70 +588,79 @@ $dropdown-header-color: $gray-light !default;
352
588
  // Warning: Avoid customizing these values. They're used for a bird's eye view
353
589
  // of components dependent on the z-axis and are designed to all work together.
354
590
 
355
- $zindex-navbar: 1000 !default;
356
- $zindex-dropdown: 1000 !default;
357
- $zindex-popover: 1060 !default;
358
- $zindex-tooltip: 1070 !default;
359
- $zindex-navbar-fixed: 1030 !default;
360
- $zindex-navbar-sticky: 1030 !default;
361
- $zindex-modal-bg: 1040 !default;
362
- $zindex-modal: 1050 !default;
591
+ $zindex-dropdown-backdrop: 990 !default;
592
+ $zindex-navbar: 1000 !default;
593
+ $zindex-dropdown: 1000 !default;
594
+ $zindex-fixed: 1030 !default;
595
+ $zindex-sticky: 1030 !default;
596
+ $zindex-modal-backdrop: 1040 !default;
597
+ $zindex-modal: 1050 !default;
598
+ $zindex-popover: 1060 !default;
599
+ $zindex-tooltip: 1070 !default;
363
600
 
364
601
 
365
602
  // Navbar
366
603
 
367
604
  $navbar-border-radius: $border-radius !default;
368
- $navbar-padding-horizontal: $spacer !default;
369
- $navbar-padding-vertical: ($spacer / 2) !default;
370
-
371
- $navbar-dark-color: rgba(255,255,255,.5) !default;
372
- $navbar-dark-hover-color: rgba(255,255,255,.75) !default;
373
- $navbar-dark-active-color: rgba(255,255,255,1) !default;
374
- $navbar-dark-disabled-color: rgba(255,255,255,.25) !default;
375
-
376
- $navbar-light-color: rgba(0,0,0,.3) !default;
377
- $navbar-light-hover-color: rgba(0,0,0,.6) !default;
378
- $navbar-light-active-color: rgba(0,0,0,.8) !default;
379
- $navbar-light-disabled-color: rgba(0,0,0,.15) !default;
380
-
605
+ $navbar-padding-x: $spacer !default;
606
+ $navbar-padding-y: ($spacer / 2) !default;
607
+
608
+ $navbar-brand-padding-y: .25rem !default;
609
+
610
+ $navbar-toggler-padding-x: .75rem !default;
611
+ $navbar-toggler-padding-y: .25rem !default;
612
+ $navbar-toggler-font-size: $font-size-lg !default;
613
+ $navbar-toggler-border-radius: $btn-border-radius !default;
614
+
615
+ $navbar-inverse-color: rgba($white,.5) !default;
616
+ $navbar-inverse-hover-color: rgba($white,.75) !default;
617
+ $navbar-inverse-active-color: rgba($white,1) !default;
618
+ $navbar-inverse-disabled-color: rgba($white,.25) !default;
619
+ $navbar-inverse-toggler-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-inverse-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"), "#", "%23") !default;
620
+ $navbar-inverse-toggler-border: rgba($white,.1) !default;
621
+
622
+ $navbar-light-color: rgba($black,.5) !default;
623
+ $navbar-light-hover-color: rgba($black,.7) !default;
624
+ $navbar-light-active-color: rgba($black,.9) !default;
625
+ $navbar-light-disabled-color: rgba($black,.3) !default;
626
+ $navbar-light-toggler-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"), "#", "%23") !default;
627
+ $navbar-light-toggler-border: rgba($black,.1) !default;
381
628
 
382
629
  // Navs
383
630
 
384
- $nav-link-padding: .5em 1em !default;
385
- $nav-link-hover-bg: $gray-lighter !default;
386
-
387
- $nav-disabled-link-color: $gray-light !default;
388
- $nav-disabled-link-hover-color: $gray-light !default;
389
-
390
- $nav-tabs-border-color: #ddd !default;
391
-
392
- $nav-tabs-link-border-width: $border-width !default;
393
- $nav-tabs-link-hover-border-color: $gray-lighter !default;
394
-
395
- $nav-tabs-active-link-hover-bg: $body-bg !default;
396
- $nav-tabs-active-link-hover-color: $gray !default;
397
- $nav-tabs-active-link-hover-border-color: #ddd !default;
631
+ $nav-item-margin: .2rem !default;
632
+ $nav-item-inline-spacer: 1rem !default;
633
+ $nav-link-padding: .5em 1em !default;
634
+ $nav-link-hover-bg: $gray-lighter !default;
635
+ $nav-disabled-link-color: $gray-light !default;
398
636
 
399
- $nav-tabs-justified-link-border-color: #ddd !default;
400
- $nav-tabs-justified-active-link-border-color: $body-bg !default;
637
+ $nav-tabs-border-color: #ddd !default;
638
+ $nav-tabs-border-width: $border-width !default;
639
+ $nav-tabs-border-radius: $border-radius !default;
640
+ $nav-tabs-link-hover-border-color: $gray-lighter !default;
641
+ $nav-tabs-active-link-hover-color: $gray !default;
642
+ $nav-tabs-active-link-hover-bg: $body-bg !default;
643
+ $nav-tabs-active-link-hover-border-color: #ddd !default;
644
+ $nav-tabs-justified-link-border-color: #ddd !default;
645
+ $nav-tabs-justified-active-link-border-color: $body-bg !default;
401
646
 
402
- $nav-pills-border-radius: $border-radius !default;
403
- $nav-pills-active-link-hover-bg: $component-active-bg !default;
404
- $nav-pills-active-link-hover-color: $component-active-color !default;
647
+ $nav-pills-border-radius: $border-radius !default;
648
+ $nav-pills-active-link-color: $component-active-color !default;
649
+ $nav-pills-active-link-bg: $component-active-bg !default;
405
650
 
406
651
 
407
652
  // Pagination
408
653
 
409
654
  $pagination-padding-x: .75rem !default;
410
655
  $pagination-padding-y: .5rem !default;
411
- $pagination-padding-x-sm: .75rem !default;
412
- $pagination-padding-y-sm: .275rem !default;
656
+ $pagination-padding-x-sm: .5rem !default;
657
+ $pagination-padding-y-sm: .25rem !default;
413
658
  $pagination-padding-x-lg: 1.5rem !default;
414
659
  $pagination-padding-y-lg: .75rem !default;
415
-
660
+ $pagination-line-height: 1.25 !default;
416
661
 
417
662
  $pagination-color: $link-color !default;
418
- $pagination-bg: #fff !default;
663
+ $pagination-bg: $white !default;
419
664
  $pagination-border-width: $border-width !default;
420
665
  $pagination-border-color: #ddd !default;
421
666
 
@@ -423,30 +668,15 @@ $pagination-hover-color: $link-hover-color !default;
423
668
  $pagination-hover-bg: $gray-lighter !default;
424
669
  $pagination-hover-border: #ddd !default;
425
670
 
426
- $pagination-active-color: #fff !default;
671
+ $pagination-active-color: $white !default;
427
672
  $pagination-active-bg: $brand-primary !default;
428
673
  $pagination-active-border: $brand-primary !default;
429
674
 
430
675
  $pagination-disabled-color: $gray-light !default;
431
- $pagination-disabled-bg: #fff !default;
676
+ $pagination-disabled-bg: $white !default;
432
677
  $pagination-disabled-border: #ddd !default;
433
678
 
434
679
 
435
- // Pager
436
-
437
- $pager-bg: $pagination-bg !default;
438
- $pager-border-width: $border-width !default;
439
- $pager-border-color: $pagination-border-color !default;
440
- $pager-border-radius: 15px !default;
441
-
442
- $pager-hover-bg: $pagination-hover-bg !default;
443
-
444
- $pager-active-bg: $pagination-active-bg !default;
445
- $pager-active-color: $pagination-active-color !default;
446
-
447
- $pager-disabled-color: $pagination-disabled-color !default;
448
-
449
-
450
680
  // Jumbotron
451
681
 
452
682
  $jumbotron-padding: 2rem !default;
@@ -467,6 +697,7 @@ $state-info-border: darken($state-info-bg, 7%) !default;
467
697
 
468
698
  $state-warning-text: #8a6d3b !default;
469
699
  $state-warning-bg: #fcf8e3 !default;
700
+ $mark-bg: $state-warning-bg !default;
470
701
  $state-warning-border: darken($state-warning-bg, 5%) !default;
471
702
 
472
703
  $state-danger-text: #a94442 !default;
@@ -475,24 +706,36 @@ $state-danger-border: darken($state-danger-bg, 5%) !default;
475
706
 
476
707
 
477
708
  // Cards
709
+
478
710
  $card-spacer-x: 1.25rem !default;
479
711
  $card-spacer-y: .75rem !default;
480
712
  $card-border-width: 1px !default;
481
713
  $card-border-radius: $border-radius !default;
482
- $card-border-color: #e5e5e5 !default;
483
- $card-border-radius-inner: $card-border-radius !default;
484
- $card-cap-bg: #f5f5f5 !default;
485
- $card-bg: #fff !default;
714
+ $card-border-color: rgba($black,.125) !default;
715
+ $card-border-radius-inner: calc(#{$card-border-radius} - #{$card-border-width}) !default;
716
+ $card-cap-bg: $gray-lightest !default;
717
+ $card-bg: $white !default;
718
+
719
+ $card-link-hover-color: $white !default;
720
+
721
+ $card-img-overlay-padding: 1.25rem !default;
722
+
723
+ $card-deck-margin: ($grid-gutter-width-base / 2) !default;
486
724
 
487
- $card-link-hover-color: #fff !default;
725
+ $card-columns-count: 3 !default;
726
+ $card-columns-gap: 1.25rem !default;
727
+ $card-columns-margin: $card-spacer-y !default;
488
728
 
489
729
 
490
730
  // Tooltips
491
731
 
492
732
  $tooltip-max-width: 200px !default;
493
- $tooltip-color: #fff !default;
494
- $tooltip-bg: #000 !default;
733
+ $tooltip-color: $white !default;
734
+ $tooltip-bg: $black !default;
495
735
  $tooltip-opacity: .9 !default;
736
+ $tooltip-padding-y: 3px !default;
737
+ $tooltip-padding-x: 8px !default;
738
+ $tooltip-margin: 3px !default;
496
739
 
497
740
  $tooltip-arrow-width: 5px !default;
498
741
  $tooltip-arrow-color: $tooltip-bg !default;
@@ -500,32 +743,47 @@ $tooltip-arrow-color: $tooltip-bg !default;
500
743
 
501
744
  // Popovers
502
745
 
503
- $popover-bg: #fff !default;
746
+ $popover-inner-padding: 1px !default;
747
+ $popover-bg: $white !default;
504
748
  $popover-max-width: 276px !default;
505
749
  $popover-border-width: $border-width !default;
506
- $popover-border-color: rgba(0,0,0,.2) !default;
750
+ $popover-border-color: rgba($black,.2) !default;
751
+ $popover-box-shadow: 0 5px 10px rgba($black,.2) !default;
507
752
 
508
753
  $popover-title-bg: darken($popover-bg, 3%) !default;
754
+ $popover-title-padding-x: 14px !default;
755
+ $popover-title-padding-y: 8px !default;
756
+
757
+ $popover-content-padding-x: 14px !default;
758
+ $popover-content-padding-y: 9px !default;
509
759
 
510
760
  $popover-arrow-width: 10px !default;
511
761
  $popover-arrow-color: $popover-bg !default;
512
762
 
513
- $popover-arrow-outer-width: ($popover-arrow-width + 1) !default;
514
- $popover-arrow-outer-color: fade-in($popover-border-color, 0.05) !default;
763
+ $popover-arrow-outer-width: ($popover-arrow-width + 1px) !default;
764
+ $popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;
765
+
515
766
 
767
+ // Badges
516
768
 
517
- // Labels
769
+ $badge-default-bg: $gray-light !default;
770
+ $badge-primary-bg: $brand-primary !default;
771
+ $badge-success-bg: $brand-success !default;
772
+ $badge-info-bg: $brand-info !default;
773
+ $badge-warning-bg: $brand-warning !default;
774
+ $badge-danger-bg: $brand-danger !default;
518
775
 
519
- $label-default-bg: $gray-light !default;
520
- $label-primary-bg: $brand-primary !default;
521
- $label-success-bg: $brand-success !default;
522
- $label-info-bg: $brand-info !default;
523
- $label-warning-bg: $brand-warning !default;
524
- $label-danger-bg: $brand-danger !default;
776
+ $badge-color: $white !default;
777
+ $badge-link-hover-color: $white !default;
778
+ $badge-font-size: 75% !default;
779
+ $badge-font-weight: $font-weight-bold !default;
780
+ $badge-padding-x: .4em !default;
781
+ $badge-padding-y: .25em !default;
525
782
 
526
- $label-color: #fff !default;
527
- $label-link-hover-color: #fff !default;
528
- $label-font-weight: bold !default;
783
+ $badge-pill-padding-x: .6em !default;
784
+ // Use a higher than normal value to ensure completely rounded edges when
785
+ // customizing padding or font-size on labels.
786
+ $badge-pill-border-radius: 10rem !default;
529
787
 
530
788
 
531
789
  // Modals
@@ -533,29 +791,41 @@ $label-font-weight: bold !default;
533
791
  // Padding applied to the modal body
534
792
  $modal-inner-padding: 15px !default;
535
793
 
536
- $modal-title-padding: 15px !default;
537
- $modal-title-line-height: $line-height !default;
794
+ $modal-dialog-margin: 10px !default;
795
+ $modal-dialog-sm-up-margin-y: 30px !default;
796
+
797
+ $modal-title-line-height: $line-height-base !default;
538
798
 
539
- $modal-content-bg: #fff !default;
540
- $modal-content-border-color: rgba(0,0,0,.2) !default;
799
+ $modal-content-bg: $white !default;
800
+ $modal-content-border-color: rgba($black,.2) !default;
801
+ $modal-content-border-width: $border-width !default;
802
+ $modal-content-xs-box-shadow: 0 3px 9px rgba($black,.5) !default;
803
+ $modal-content-sm-up-box-shadow: 0 5px 15px rgba($black,.5) !default;
541
804
 
542
- $modal-backdrop-bg: #000 !default;
805
+ $modal-backdrop-bg: $black !default;
543
806
  $modal-backdrop-opacity: .5 !default;
544
- $modal-header-border-color: #e5e5e5 !default;
807
+ $modal-header-border-color: $gray-lighter !default;
545
808
  $modal-footer-border-color: $modal-header-border-color !default;
809
+ $modal-header-border-width: $modal-content-border-width !default;
810
+ $modal-footer-border-width: $modal-header-border-width !default;
811
+ $modal-header-padding: 15px !default;
546
812
 
547
- $modal-lg: 900px !default;
548
- $modal-md: 600px !default;
813
+ $modal-lg: 800px !default;
814
+ $modal-md: 500px !default;
549
815
  $modal-sm: 300px !default;
550
816
 
817
+ $modal-transition: transform .3s ease-out !default;
818
+
551
819
 
552
820
  // Alerts
553
821
  //
554
822
  // Define alert colors, border radius, and padding.
555
823
 
556
- $alert-padding: 15px !default;
824
+ $alert-padding-x: 1.25rem !default;
825
+ $alert-padding-y: .75rem !default;
826
+ $alert-margin-bottom: $spacer-y !default;
557
827
  $alert-border-radius: $border-radius !default;
558
- $alert-link-font-weight: bold !default;
828
+ $alert-link-font-weight: $font-weight-bold !default;
559
829
  $alert-border-width: $border-width !default;
560
830
 
561
831
  $alert-success-bg: $state-success-bg !default;
@@ -577,37 +847,42 @@ $alert-danger-border: $state-danger-border !default;
577
847
 
578
848
  // Progress bars
579
849
 
580
- $progress-bg: #f5f5f5 !default;
581
- $progress-bar-color: #fff !default;
582
- $progress-border-radius: $border-radius !default;
583
-
584
- $progress-bar-bg: $brand-primary !default;
585
- $progress-bar-success-bg: $brand-success !default;
586
- $progress-bar-warning-bg: $brand-warning !default;
587
- $progress-bar-danger-bg: $brand-danger !default;
588
- $progress-bar-info-bg: $brand-info !default;
589
-
850
+ $progress-height: 1rem !default;
851
+ $progress-font-size: .75rem !default;
852
+ $progress-bg: $gray-lighter !default;
853
+ $progress-border-radius: $border-radius !default;
854
+ $progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;
855
+ $progress-bar-color: $white !default;
856
+ $progress-bar-bg: $brand-primary !default;
857
+ $progress-bar-animation-timing: 1s linear infinite !default;
590
858
 
591
859
  // List group
592
860
 
593
- $list-group-bg: #fff !default;
594
- $list-group-border-color: #ddd !default;
595
- $list-group-border-width: $border-width !default;
596
- $list-group-border-radius: $border-radius !default;
861
+ $list-group-color: $body-color !default;
862
+ $list-group-bg: $white !default;
863
+ $list-group-border-color: rgba($black,.125) !default;
864
+ $list-group-border-width: $border-width !default;
865
+ $list-group-border-radius: $border-radius !default;
866
+
867
+ $list-group-item-padding-x: 1.25rem !default;
868
+ $list-group-item-padding-y: .75rem !default;
597
869
 
598
- $list-group-hover-bg: #f5f5f5 !default;
599
- $list-group-active-color: $component-active-color !default;
600
- $list-group-active-bg: $component-active-bg !default;
601
- $list-group-active-border: $list-group-active-bg !default;
602
- $list-group-active-text-color: lighten($list-group-active-bg, 40%) !default;
870
+ $list-group-hover-bg: $gray-lightest !default;
871
+ $list-group-active-color: $component-active-color !default;
872
+ $list-group-active-bg: $component-active-bg !default;
873
+ $list-group-active-border: $list-group-active-bg !default;
874
+ $list-group-active-text-color: lighten($list-group-active-bg, 50%) !default;
603
875
 
604
876
  $list-group-disabled-color: $gray-light !default;
605
- $list-group-disabled-bg: $gray-lighter !default;
877
+ $list-group-disabled-bg: $list-group-bg !default;
606
878
  $list-group-disabled-text-color: $list-group-disabled-color !default;
607
879
 
608
- $list-group-link-color: #555 !default;
609
- $list-group-link-hover-color: $list-group-link-color !default;
610
- $list-group-link-heading-color: #333 !default;
880
+ $list-group-link-color: $gray !default;
881
+ $list-group-link-heading-color: $gray-dark !default;
882
+ $list-group-link-hover-color: $list-group-link-color !default;
883
+
884
+ $list-group-link-active-color: $list-group-color !default;
885
+ $list-group-link-active-bg: $gray-lighter !default;
611
886
 
612
887
 
613
888
  // Image thumbnails
@@ -617,12 +892,21 @@ $thumbnail-bg: $body-bg !default;
617
892
  $thumbnail-border-width: $border-width !default;
618
893
  $thumbnail-border-color: #ddd !default;
619
894
  $thumbnail-border-radius: $border-radius !default;
895
+ $thumbnail-box-shadow: 0 1px 2px rgba($black,.075) !default;
896
+ $thumbnail-transition: all .2s ease-in-out !default;
897
+
898
+
899
+ // Figures
900
+
901
+ $figure-caption-font-size: 90% !default;
902
+ $figure-caption-color: $gray-light !default;
620
903
 
621
904
 
622
905
  // Breadcrumbs
623
906
 
624
- $breadcrumb-padding-vertical: .75rem !default;
625
- $breadcrumb-padding-horizontal: 1rem !default;
907
+ $breadcrumb-padding-y: .75rem !default;
908
+ $breadcrumb-padding-x: 1rem !default;
909
+ $breadcrumb-item-padding: .5rem !default;
626
910
 
627
911
  $breadcrumb-bg: $gray-lighter !default;
628
912
  $breadcrumb-divider-color: $gray-light !default;
@@ -632,35 +916,46 @@ $breadcrumb-divider: "/" !default;
632
916
 
633
917
  // Carousel
634
918
 
635
- $carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;
636
-
637
- $carousel-control-color: #fff !default;
919
+ $carousel-control-color: $white !default;
638
920
  $carousel-control-width: 15% !default;
639
921
  $carousel-control-opacity: .5 !default;
640
- $carousel-control-font-size: 20px !default;
641
922
 
642
- $carousel-indicator-active-bg: #fff !default;
643
- $carousel-indicator-border-color: #fff !default;
923
+ $carousel-indicator-width: 30px !default;
924
+ $carousel-indicator-height: 3px !default;
925
+ $carousel-indicator-spacer: 3px !default;
926
+ $carousel-indicator-active-bg: $white !default;
927
+
928
+ $carousel-caption-width: 70% !default;
929
+ $carousel-caption-color: $white !default;
930
+
931
+ $carousel-control-icon-width: 20px !default;
932
+
933
+ $carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
934
+ $carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
644
935
 
645
- $carousel-caption-color: #fff !default;
936
+ $carousel-transition: transform .6s ease-in-out !default;
646
937
 
647
938
 
648
939
  // Close
649
940
 
650
- $close-font-weight: bold !default;
651
- $close-color: #000 !default;
652
- $close-text-shadow: 0 1px 0 #fff !default;
941
+ $close-font-size: $font-size-base * 1.5 !default;
942
+ $close-font-weight: $font-weight-bold !default;
943
+ $close-color: $black !default;
944
+ $close-text-shadow: 0 1px 0 $white !default;
653
945
 
654
946
 
655
947
  // Code
656
948
 
949
+ $code-font-size: 90% !default;
950
+ $code-padding-x: .4rem !default;
951
+ $code-padding-y: .2rem !default;
657
952
  $code-color: #bd4147 !default;
658
- $code-bg: #f7f7f9 !default;
953
+ $code-bg: $gray-lightest !default;
659
954
 
660
- $kbd-color: #fff !default;
661
- $kbd-bg: #333 !default;
955
+ $kbd-color: $white !default;
956
+ $kbd-bg: $gray-dark !default;
662
957
 
663
- $pre-bg: #f7f7f9 !default;
958
+ $pre-bg: $gray-lightest !default;
664
959
  $pre-color: $gray-dark !default;
665
960
  $pre-border-color: #ccc !default;
666
961
  $pre-scrollable-max-height: 340px !default;