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
@@ -0,0 +1,52 @@
1
+ Spree.Views.Order.Address = Backbone.View.extend({
2
+ initialize: function(options) {
3
+ this.$(".js-country_id").select2();
4
+
5
+ // read initial values from page
6
+ this.onChange();
7
+
8
+ this.render();
9
+ this.listenTo(this.model, "change", this.render);
10
+
11
+ this.stateSelect =
12
+ new Spree.Views.StateSelect({
13
+ model: this.model,
14
+ el: this.$el
15
+ });
16
+ },
17
+
18
+ events: {
19
+ "change": "onChange",
20
+ },
21
+
22
+ onChange: function() {
23
+ this.model.set(this.getValues())
24
+ },
25
+
26
+ eachField: function(callback){
27
+ var view = this;
28
+ var fields = ["firstname", "lastname", "company", "address1", "address2",
29
+ "city", "zipcode", "phone"];
30
+ _.each(fields, function(field) {
31
+ var el = view.$('[name$="[' + field + ']"]');
32
+ if (el.length) callback(field, el);
33
+ });
34
+ },
35
+
36
+ getValues: function() {
37
+ var attributes = {};
38
+ this.eachField(function(name, el) {
39
+ attributes[name] = el.val();
40
+ });
41
+ attributes['country_id'] = this.$(".js-country_id").select2("val")
42
+ return attributes;
43
+ },
44
+
45
+ render: function() {
46
+ var model = this.model;
47
+ this.eachField(function(name, el) {
48
+ el.val(model.get(name))
49
+ })
50
+ this.$(".js-country_id").select2("val", this.model.get("country_id"))
51
+ }
52
+ });
@@ -0,0 +1,68 @@
1
+ Spree.Views.Order.CustomerDetails = Backbone.View.extend({
2
+ initialize: function() {
3
+ this.billAddressView =
4
+ new Spree.Views.Order.Address({
5
+ model: this.model.get("bill_address"),
6
+ el: this.$('.js-billing-address')
7
+ });
8
+
9
+ this.shipAddressView =
10
+ new Spree.Views.Order.Address({
11
+ model: this.model.get("ship_address"),
12
+ el: this.$('.js-shipping-address')
13
+ });
14
+
15
+ this.customerSelectView =
16
+ new Spree.Views.Order.CustomerSelect({
17
+ el: this.$('#customer_search')
18
+ });
19
+ this.listenTo(this.customerSelectView, "select", this.onSelectCustomer);
20
+
21
+ this.onGuestCheckoutChanged();
22
+ this.onChange();
23
+
24
+ this.listenTo(this.model, "change", this.render)
25
+ this.render()
26
+ },
27
+
28
+ events: {
29
+ "click #guest_checkout_true": "onGuestCheckoutChanged",
30
+ "click #order_use_billing": "onChange",
31
+ "change #order_email": "onChange"
32
+ },
33
+
34
+ onGuestCheckoutChanged: function() {
35
+ if(this.$('#guest_checkout_true').is(':checked')) {
36
+ this.model.set({user_id: null})
37
+ }
38
+ },
39
+
40
+ onChange: function() {
41
+ this.model.set({
42
+ use_billing: this.$('#order_use_billing').is(':checked'),
43
+ email: this.$("#order_email").val()
44
+ })
45
+ },
46
+
47
+ onSelectCustomer: function(customer) {
48
+ this.model.set({
49
+ email: customer.email,
50
+ user_id: customer.id,
51
+ bill_address: customer.bill_address
52
+ })
53
+ },
54
+
55
+ render: function() {
56
+ var user_id = this.model.get("user_id")
57
+ this.$("#user_id").val(user_id);
58
+ this.$('#guest_checkout_true')
59
+ .prop("checked", !user_id);
60
+ this.$('#guest_checkout_false')
61
+ .prop("checked", !!user_id)
62
+ .prop("disabled", !user_id);
63
+
64
+ this.$('#shipping').toggleClass("hidden", !!this.model.get("use_billing"));
65
+ this.$('#order_email').val(this.model.get("email"))
66
+ }
67
+ })
68
+
@@ -0,0 +1,55 @@
1
+ Spree.Views.Order.CustomerSelect = Backbone.View.extend({
2
+ initialize: function() {
3
+ this.render();
4
+ },
5
+
6
+ events: {
7
+ "select2-selecting": "onSelect"
8
+ },
9
+
10
+ onSelect: function(e) {
11
+ var customer = e.choice;
12
+ this.trigger("select", customer)
13
+ },
14
+
15
+ render: function() {
16
+ var customerTemplate = HandlebarsTemplates['orders/customer_details/autocomplete'];
17
+
18
+ var formatCustomerResult = function(customer) {
19
+ return customerTemplate({
20
+ customer: customer,
21
+ bill_address: customer.bill_address,
22
+ ship_address: customer.ship_address
23
+ })
24
+ }
25
+
26
+ this.$el.select2({
27
+ placeholder: Spree.translations.choose_a_customer,
28
+ ajax: {
29
+ url: Spree.routes.users_api,
30
+ params: { "headers": { "X-Spree-Token": Spree.api_key } },
31
+ datatype: 'json',
32
+ data: function(term, page) {
33
+ return {
34
+ q: {
35
+ m: 'or',
36
+ email_start: term,
37
+ addresses_firstname_start: term,
38
+ addresses_lastname_start: term
39
+ }
40
+ }
41
+ },
42
+ results: function(data, page) {
43
+ return {
44
+ results: data.users,
45
+ more: data.current_page < data.pages
46
+ }
47
+ }
48
+ },
49
+ formatResult: formatCustomerResult,
50
+ formatSelection: function (customer) {
51
+ return Select2.util.escapeMarkup(customer.email);
52
+ }
53
+ })
54
+ }
55
+ });
@@ -0,0 +1,39 @@
1
+ Spree.Views.Order.DetailsAdjustments = Backbone.View.extend({
2
+ initialize: function() {
3
+ this.listenTo(this.model, "change", this.render);
4
+ this.render()
5
+ },
6
+
7
+ adjustmentTotals: function() {
8
+ var totals = {};
9
+ var collection = this.collection ? this.collection.chain() : _.chain([this.model]);
10
+ collection
11
+ .map(function(item){ return item.get("adjustments") || [] })
12
+ .flatten(true)
13
+ .each(function(adjustment){
14
+ var label = adjustment.label;
15
+
16
+ /* Fixme: because this is done in JS, we only have floating point math */
17
+ totals[label] = (totals[label] || 0);
18
+ totals[label] += Number(adjustment.amount);
19
+ });
20
+ return totals;
21
+ },
22
+
23
+ render: function() {
24
+ var model = this.model;
25
+ var tbody = this.$('tbody');
26
+ var adjustmentTotals = this.adjustmentTotals()
27
+
28
+ tbody.empty();
29
+ _.each(adjustmentTotals, function(amount, label) {
30
+ var html = HandlebarsTemplates["orders/details_adjustment_row"]({
31
+ label: label,
32
+ amount: Spree.formatMoney(amount, model.get("currency"))
33
+ });
34
+ tbody.append(html);
35
+ });
36
+
37
+ this.$el.toggleClass("hidden", _.isEmpty(adjustmentTotals));
38
+ }
39
+ })
@@ -0,0 +1,12 @@
1
+ Spree.Views.Order.DetailsTotal = Backbone.View.extend({
2
+ initialize: function() {
3
+ this.listenTo(this.model, "change", this.render);
4
+ this.render()
5
+ },
6
+
7
+ render: function() {
8
+ var lineItemCount = this.model.get("line_items").length
9
+ this.$el.toggleClass('hidden', !lineItemCount)
10
+ this.$('.order-total').text(this.model.get("display_total"))
11
+ }
12
+ })
@@ -0,0 +1,36 @@
1
+ Spree.Views.Order.Summary = Backbone.View.extend({
2
+ initialize: function () {
3
+ this.listenTo(this.model, "change", this.render);
4
+ this.render()
5
+ },
6
+
7
+ render: function () {
8
+ this.$('dd.order-state').html(this.renderState('order_state', this.model.get("state")))
9
+
10
+ this.$("#item_total").text(this.model.get("display_item_total"));
11
+ this.$("#order_total").text(this.model.get("display_total"));
12
+
13
+ this.$('.order-shipment_total').toggleClass("hidden", !Number(this.model.get("ship_total")))
14
+ this.$('dd.order-shipment_total').text(this.model.get("display_ship_total"))
15
+
16
+ this.$('.order-included_tax_total').toggleClass("hidden", !Number(this.model.get("included_tax_total")))
17
+ this.$('dd.order-included_tax_total').text(this.model.get("display_included_tax_total"))
18
+
19
+ this.$('.order-additional_tax_total').toggleClass("hidden", !Number(this.model.get("additional_tax_total")))
20
+ this.$('dd.order-additional_tax_total').text(this.model.get("display_additional_tax_total"))
21
+
22
+ this.$('.order-shipment_state').toggleClass("hidden", !this.model.get("completed_at"))
23
+ this.$('dd.order-shipment_state').html(this.renderState('shipment_state', this.model.get("shipment_state")))
24
+
25
+ this.$('.order-payment_state').toggleClass("hidden", !this.model.get("completed_at"))
26
+ this.$('dd.order-payment_state').html(this.renderState('payment_state', this.model.get("payment_state")))
27
+ },
28
+
29
+ renderState: function(translation_key, value) {
30
+ var state_name = Spree.translations[translation_key][value] || value;
31
+ return $('<span>')
32
+ .addClass('state')
33
+ .addClass(value)
34
+ .text(state_name);
35
+ }
36
+ });
@@ -0,0 +1,71 @@
1
+ Spree.Views.StateSelect = Backbone.View.extend({
2
+ initialize: function() {
3
+ this.states = {} // null object
4
+
5
+ this.$state_select = this.$('.js-state_id');
6
+ this.$state_input = this.$('.js-state_name');
7
+
8
+ // read initial values from page
9
+ this.model.set({
10
+ state_name: this.$state_input.val(),
11
+ state_id: this.$state_select.val()
12
+ })
13
+
14
+ this.updateStates();
15
+ this.listenTo(this.model, 'change:country_id', this.updateStates)
16
+ this.render();
17
+ },
18
+
19
+ events: {
20
+ "change .js-state_name": "onChange",
21
+ "change .js-state_id": "onChange",
22
+ },
23
+
24
+ onChange: function() {
25
+ this.model.set({
26
+ state_name: this.$state_input.val(),
27
+ state_id: this.$state_select.select2("val")
28
+ })
29
+ },
30
+
31
+ updateStates: function() {
32
+ this.stopListening(this.states);
33
+ var country_id = this.model.get("country_id");
34
+ if (country_id) {
35
+ this.states = Spree.Views.StateSelect.stateCache(country_id);
36
+ this.listenTo(this.states, "sync", this.render);
37
+ this.render();
38
+ }
39
+ },
40
+
41
+ render: function() {
42
+ this.$state_select.empty().select2("destroy").hide();
43
+ this.$state_input.hide();
44
+
45
+ if (!this.states.fetched) {
46
+ this.$state_select.show().select2().select2("disable");
47
+ } else if (this.states.length) {
48
+ var $state_select = this.$state_select;
49
+ this.states.each(function(state) {
50
+ $state_select.append(
51
+ $('<option>').prop('value', state.id).text(state.get("name"))
52
+ );
53
+ })
54
+ this.$state_select.val(this.model.get("state_id"))
55
+ this.$state_select.show().select2().select2("enable");
56
+ } else {
57
+ this.$state_input.prop('disabled', false).show();
58
+ }
59
+ }
60
+ })
61
+
62
+ Spree.Views.StateSelect.stateCache = _.memoize(function(country_id) {
63
+ var states = new Spree.Collections.States([], {country_id: country_id})
64
+ states.fetched = false;
65
+ states.fetch({
66
+ success: function() {
67
+ states.fetched = true;
68
+ }
69
+ });
70
+ return states;
71
+ });
@@ -0,0 +1,16 @@
1
+ Spree.Views.Zones.Form = Backbone.View.extend({
2
+ events: {
3
+ 'click [name="zone[kind]"]': 'render'
4
+ },
5
+
6
+ render: function() {
7
+ var kind = this.$('[name="zone[kind]"]:checked').val() || 'state';
8
+ this.$('[name="zone[kind]"]').val([kind]);
9
+
10
+ $('#state_members').toggleClass('hidden', kind !== 'state');
11
+ $('#state_members :input').prop('disabled', kind !== 'state');
12
+
13
+ $('#country_members').toggleClass('hidden', kind !== 'country');
14
+ $('#country_members :input').prop('disabled', kind !== 'country');
15
+ }
16
+ })
@@ -0,0 +1,8 @@
1
+ $(function(){
2
+ if($('.js-zones-form').length) {
3
+ var view = new Spree.Views.Zones.Form({
4
+ el: $('.js-zones-form')
5
+ });
6
+ view.render()
7
+ }
8
+ });
@@ -5,7 +5,7 @@
5
5
 
6
6
  *= require jquery-ui/datepicker
7
7
  *= require jquery-ui/autocomplete
8
- *= require select2
8
+ *= require solidus_admin/select2
9
9
  *= require prism
10
10
 
11
11
  *= require spree/backend/spree_admin
@@ -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
 
113
+ // Reassign color vars to semantic color scheme
35
114
  $brand-primary: $color-3 !default;
36
115
  $brand-success: $color-2 !default;
37
- $brand-info: #5bc0de !default;
116
+ $brand-info: $teal !default;
38
117
  $brand-warning: $color-6 !default;
39
118
  $brand-danger: $color-5 !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: true !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: $color-body-bg !default;
185
+ $body-color: $color-body-text !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;
194
+ $link-color: $color-link !default;
97
195
  $link-decoration: none !default;
98
- $link-hover-color: darken($link-color, 15%) !default;
99
- $link-hover-decoration: underline !default;
196
+ $link-hover-color: $color-link-hover !default;
197
+ $link-hover-decoration: none !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: 960px, /* Changed to 960 from 940 to avoid fighting with skeleton */
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,85 @@ $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: 1.875rem !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: $base-font-family !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: "Helvetica Neue", Helvetica, Arial, sans-serif !default;
248
+ $font-family-serif: Georgia, "Times New Roman", Times, serif !default;
249
+ $font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace !default;
250
+ $font-family-base: $base-font-family !default;
149
251
 
150
- // Pixel value used to responsively scale all typography. Applied to the `<html>` element.
151
- $font-size-root: 15px !default;
252
+ $font-size-root: $body-font-size !default;
253
+ $font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
254
+ $font-size-lg: 1.25rem !default;
255
+ $font-size-sm: .875rem !default;
256
+ $font-size-xs: .75rem !default;
152
257
 
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;
258
+ $font-weight-normal: normal !default;
259
+ $font-weight-bold: bold !default;
157
260
 
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;
261
+ $font-weight-base: $font-weight-normal !default;
262
+ $line-height-base: 1.5 !default;
164
263
 
165
- $display1-size: 6rem !default;
166
- $display2-size: 5.5rem !default;
167
- $display3-size: 4.5rem !default;
168
- $display4-size: 3.5rem !default;
264
+ $font-size-h1: $h1-size !default;
265
+ $font-size-h2: $h2-size !default;
266
+ $font-size-h3: $h3-size !default;
267
+ $font-size-h4: $h4-size !default;
268
+ $font-size-h5: $h5-size !default;
269
+ $font-size-h6: $h6-size !default;
169
270
 
170
- $display1-weight: 300 !default;
171
- $display2-weight: 300 !default;
172
- $display3-weight: 300 !default;
173
- $display4-weight: 300 !default;
271
+ $headings-margin-bottom: ($spacer / 2) !default;
272
+ $headings-font-family: inherit !default;
273
+ $headings-font-weight: $font-weight-bold !default;
274
+ $headings-line-height: 1.1 !default;
275
+ $headings-color: $color-headers !default;
174
276
 
175
- $line-height: 1.5 !default;
277
+ $display1-size: 6rem !default;
278
+ $display2-size: 5.5rem !default;
279
+ $display3-size: 4.5rem !default;
280
+ $display4-size: 3.5rem !default;
176
281
 
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;
282
+ $display1-weight: 300 !default;
283
+ $display2-weight: 300 !default;
284
+ $display3-weight: 300 !default;
285
+ $display4-weight: 300 !default;
286
+ $display-line-height: $headings-line-height !default;
182
287
 
183
- $lead-font-size: 1.25rem !default;
184
- $lead-font-weight: 300 !default;
288
+ $lead-font-size: 1.25rem !default;
289
+ $lead-font-weight: 300 !default;
185
290
 
186
- $text-muted: $gray-light !default;
291
+ $small-font-size: 80% !default;
187
292
 
188
- $abbr-border-color: $gray-light !default;
293
+ $text-muted: $gray-light !default;
189
294
 
190
- $blockquote-small-color: $gray-light !default;
191
- $blockquote-font-size: ($font-size-base * 1.25) !default;
192
- $blockquote-border-color: $gray-lighter !default;
295
+ $abbr-border-color: $gray-light !default;
193
296
 
194
- $hr-border-color: rgba(0,0,0,.1) !default;
195
- $hr-border-width: $border-width !default;
297
+ $blockquote-small-color: $gray-light !default;
298
+ $blockquote-font-size: ($font-size-base * 1.25) !default;
299
+ $blockquote-border-color: $gray-lighter !default;
300
+ $blockquote-border-width: .25rem !default;
196
301
 
197
- $dt-font-weight: bold !default;
302
+ $hr-border-color: rgba($black,.1) !default;
303
+ $hr-border-width: $border-width !default;
198
304
 
199
- $nested-kbd-font-weight: bold !default;
305
+ $mark-padding: .2em !default;
200
306
 
201
- $list-inline-padding: 5px !default;
307
+ $dt-font-weight: $font-weight-bold !default;
308
+
309
+ $kbd-box-shadow: inset 0 -.1rem 0 rgba($black,.25) !default;
310
+ $nested-kbd-font-weight: $font-weight-bold !default;
311
+
312
+ $list-inline-padding: 5px !default;
202
313
 
203
314
 
204
315
  // Components
@@ -208,15 +319,18 @@ $list-inline-padding: 5px !default;
208
319
  $line-height-lg: (4 / 3) !default;
209
320
  $line-height-sm: 1.5 !default;
210
321
 
211
- $border-radius: .25rem !default;
322
+ $border-radius: 3px !default;
212
323
  $border-radius-lg: .3rem !default;
213
324
  $border-radius-sm: .2rem !default;
214
325
 
215
- $component-active-color: #fff !default;
326
+ $component-active-color: $white !default;
216
327
  $component-active-bg: $brand-primary !default;
217
328
 
218
329
  $caret-width: .3em !default;
219
- $caret-width-lg: $caret-width !default;
330
+
331
+ $transition-base: all .2s ease-in-out !default;
332
+ $transition-fade: opacity .15s linear !default;
333
+ $transition-collapse: height .35s ease !default;
220
334
 
221
335
 
222
336
  // Tables
@@ -227,10 +341,17 @@ $table-cell-padding: .75rem !default;
227
341
  $table-sm-cell-padding: .3rem !default;
228
342
 
229
343
  $table-bg: transparent !default;
230
- $table-bg-accent: #f9f9f9 !default;
231
- $table-bg-hover: #f5f5f5 !default;
344
+
345
+ $table-inverse-bg: $gray-dark !default;
346
+ $table-inverse-color: $body-bg !default;
347
+
348
+ $table-bg-accent: rgba($black,.05) !default;
349
+ $table-bg-hover: rgba($black,.075) !default;
232
350
  $table-bg-active: $table-bg-hover !default;
233
351
 
352
+ $table-head-bg: $gray-lighter !default;
353
+ $table-head-color: $gray !default;
354
+
234
355
  $table-border-width: $border-width !default;
235
356
  $table-border-color: $gray-lighter !default;
236
357
 
@@ -240,79 +361,103 @@ $table-border-color: $gray-lighter !default;
240
361
  // For each of Bootstrap's buttons, define text, background and border color.
241
362
 
242
363
  $btn-padding-x: 1rem !default;
243
- $btn-padding-y: .375rem !default;
244
- $btn-font-weight: normal !default;
245
-
246
- $btn-primary-color: #fff !default;
364
+ $btn-padding-y: .5rem !default;
365
+ $btn-line-height: 1.25 !default;
366
+ $btn-font-weight: $font-weight-normal !default;
367
+ $btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;
368
+ $btn-focus-box-shadow: 0 0 0 2px rgba($brand-primary, .25) !default;
369
+ $btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;
370
+
371
+ $btn-primary-color: $white !default;
247
372
  $btn-primary-bg: $brand-primary !default;
248
373
  $btn-primary-border: $btn-primary-bg !default;
249
374
 
250
375
  $btn-secondary-color: $gray-dark !default;
251
- $btn-secondary-bg: #fff !default;
376
+ $btn-secondary-bg: $white !default;
252
377
  $btn-secondary-border: #ccc !default;
253
378
 
254
- $btn-info-color: #fff !default;
379
+ $btn-info-color: $white !default;
255
380
  $btn-info-bg: $brand-info !default;
256
381
  $btn-info-border: $btn-info-bg !default;
257
382
 
258
- $btn-success-color: #fff !default;
383
+ $btn-success-color: $white !default;
259
384
  $btn-success-bg: $brand-success !default;
260
385
  $btn-success-border: $btn-success-bg !default;
261
386
 
262
- $btn-warning-color: #fff !default;
387
+ $btn-warning-color: $white !default;
263
388
  $btn-warning-bg: $brand-warning !default;
264
389
  $btn-warning-border: $btn-warning-bg !default;
265
390
 
266
- $btn-danger-color: #fff !default;
391
+ $btn-danger-color: $white !default;
267
392
  $btn-danger-bg: $brand-danger !default;
268
393
  $btn-danger-border: $btn-danger-bg !default;
269
394
 
270
395
  $btn-link-disabled-color: $gray-light !default;
271
396
 
272
- $btn-padding-x-sm: .75rem !default;
397
+ $btn-padding-x-sm: .5rem !default;
273
398
  $btn-padding-y-sm: .25rem !default;
274
399
 
275
- $btn-padding-x-lg: 1.25rem !default;
400
+ $btn-padding-x-lg: 1.5rem !default;
276
401
  $btn-padding-y-lg: .75rem !default;
277
402
 
403
+ $btn-block-spacing-y: .5rem !default;
404
+ $btn-toolbar-margin: .5rem !default;
405
+
278
406
  // Allows for customizing button radius independently from global border radius
279
407
  $btn-border-radius: $border-radius !default;
280
408
  $btn-border-radius-lg: $border-radius-lg !default;
281
409
  $btn-border-radius-sm: $border-radius-sm !default;
282
410
 
411
+ $btn-transition: all .2s ease-in-out !default;
412
+
283
413
 
284
414
  // Forms
285
415
 
286
416
  $input-padding-x: .75rem !default;
287
- $input-padding-y: .375rem !default;
417
+ $input-padding-y: .5rem !default;
418
+ $input-line-height: 1.25 !default;
288
419
 
289
- $input-bg: #fff !default;
420
+ $input-bg: $white !default;
290
421
  $input-bg-disabled: $gray-lighter !default;
291
422
 
292
- $input-color: $gray !default;
293
- $input-border-color: #ccc !default;
423
+ $input-color: $color-txt-text !default;
424
+ $input-border-color: $color-txt-brd !default;
294
425
  $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;
426
+ $input-box-shadow: inset 0 1px 1px rgba($black,.075) !default;
296
427
 
297
428
  $input-border-radius: $border-radius !default;
298
429
  $input-border-radius-lg: $border-radius-lg !default;
299
430
  $input-border-radius-sm: $border-radius-sm !default;
300
431
 
301
- $input-border-focus: #66afe9 !default;
302
- $input-box-shadow-focus: rgba(102,175,233,.6) !default;
432
+ $input-bg-focus: $input-bg !default;
433
+ $input-border-focus: $color-txt-hover-brd !default;
434
+ $input-box-shadow-focus: $input-box-shadow, rgba($input-border-focus, .6) !default;
435
+ $input-color-focus: $input-color !default;
303
436
 
304
- $input-color-placeholder: #999 !default;
437
+ $input-color-placeholder: $gray-light !default;
305
438
 
306
- $input-padding-x-sm: .75rem !default;
307
- $input-padding-y-sm: .275rem !default;
439
+ $input-padding-x-sm: .5rem !default;
440
+ $input-padding-y-sm: .25rem !default;
308
441
 
309
- $input-padding-x-lg: 1.25rem !default;
442
+ $input-padding-x-lg: 1.5rem !default;
310
443
  $input-padding-y-lg: .75rem !default;
311
444
 
312
- $input-height: (($font-size-base * $line-height) + ($input-padding-y * 2)) !default;
445
+ $input-height: (($font-size-base * $input-line-height) + ($input-padding-y * 2)) !default;
313
446
  $input-height-lg: (($font-size-lg * $line-height-lg) + ($input-padding-y-lg * 2)) !default;
314
447
  $input-height-sm: (($font-size-sm * $line-height-sm) + ($input-padding-y-sm * 2)) !default;
315
448
 
449
+ $input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;
450
+
451
+ $form-text-margin-top: .25rem !default;
452
+ $form-feedback-margin-top: $form-text-margin-top !default;
453
+
454
+ $form-check-margin-bottom: .5rem !default;
455
+ $form-check-input-gutter: 1.25rem !default;
456
+ $form-check-input-margin-y: .25rem !default;
457
+ $form-check-input-margin-x: .25rem !default;
458
+
459
+ $form-check-inline-margin-x: .75rem !default;
460
+
316
461
  $form-group-margin-bottom: $spacer-y !default;
317
462
 
318
463
  $input-group-addon-bg: $gray-lighter !default;
@@ -320,30 +465,122 @@ $input-group-addon-border-color: $input-border-color !default;
320
465
 
321
466
  $cursor-disabled: not-allowed !default;
322
467
 
468
+ $custom-control-gutter: 1.5rem !default;
469
+ $custom-control-spacer-x: 1rem !default;
470
+ $custom-control-spacer-y: .25rem !default;
471
+
472
+ $custom-control-indicator-size: 1rem !default;
473
+ $custom-control-indicator-margin-y: (($line-height-base * 1rem) - $custom-control-indicator-size) / -2 !default;
474
+ $custom-control-indicator-bg: #ddd !default;
475
+ $custom-control-indicator-bg-size: 50% 50% !default;
476
+ $custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;
477
+
478
+ $custom-control-disabled-cursor: $cursor-disabled !default;
479
+ $custom-control-disabled-indicator-bg: $gray-lighter !default;
480
+ $custom-control-disabled-description-color: $gray-light !default;
481
+
482
+ $custom-control-checked-indicator-color: $white !default;
483
+ $custom-control-checked-indicator-bg: $brand-primary !default;
484
+ $custom-control-checked-indicator-box-shadow: none !default;
485
+
486
+ $custom-control-focus-indicator-box-shadow: 0 0 0 1px $body-bg, 0 0 0 3px $brand-primary !default;
487
+
488
+ $custom-control-active-indicator-color: $white !default;
489
+ $custom-control-active-indicator-bg: lighten($brand-primary, 35%) !default;
490
+ $custom-control-active-indicator-box-shadow: none !default;
491
+
492
+ $custom-checkbox-radius: $border-radius !default;
493
+ $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;
494
+
495
+ $custom-checkbox-indeterminate-bg: $brand-primary !default;
496
+ $custom-checkbox-indeterminate-indicator-color: $custom-control-checked-indicator-color !default;
497
+ $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;
498
+ $custom-checkbox-indeterminate-box-shadow: none !default;
499
+
500
+ $custom-radio-radius: 50% !default;
501
+ $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;
502
+
503
+ $custom-select-padding-x: .75rem !default;
504
+ $custom-select-padding-y: .375rem !default;
505
+ $custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
506
+ $custom-select-line-height: $input-line-height !default;
507
+ $custom-select-color: $input-color !default;
508
+ $custom-select-disabled-color: $gray-light !default;
509
+ $custom-select-bg: $white !default;
510
+ $custom-select-disabled-bg: $gray-lighter !default;
511
+ $custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
512
+ $custom-select-indicator-color: #333 !default;
513
+ $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;
514
+ $custom-select-border-width: $input-btn-border-width !default;
515
+ $custom-select-border-color: $input-border-color !default;
516
+ $custom-select-border-radius: $border-radius !default;
517
+
518
+ $custom-select-focus-border-color: $input-border-focus !default;
519
+ $custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;
520
+
521
+ $custom-select-sm-padding-y: .2rem !default;
522
+ $custom-select-sm-font-size: 75% !default;
523
+
524
+ $custom-file-height: 2.5rem !default;
525
+ $custom-file-width: 14rem !default;
526
+ $custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem $brand-primary !default;
527
+
528
+ $custom-file-padding-x: .5rem !default;
529
+ $custom-file-padding-y: 1rem !default;
530
+ $custom-file-line-height: 1.5 !default;
531
+ $custom-file-color: $gray !default;
532
+ $custom-file-bg: $white !default;
533
+ $custom-file-border-width: $border-width !default;
534
+ $custom-file-border-color: $input-border-color !default;
535
+ $custom-file-border-radius: $border-radius !default;
536
+ $custom-file-box-shadow: inset 0 .2rem .4rem rgba($black,.05) !default;
537
+ $custom-file-button-color: $custom-file-color !default;
538
+ $custom-file-button-bg: $gray-lighter !default;
539
+ $custom-file-text: (
540
+ placeholder: (
541
+ en: "Choose file..."
542
+ ),
543
+ button-label: (
544
+ en: "Browse"
545
+ )
546
+ ) !default;
547
+
548
+
323
549
  // 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;
550
+ $form-icon-success-color: $brand-success !default;
551
+ $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;
552
+
553
+ $form-icon-warning-color: $brand-warning !default;
554
+ $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;
555
+
556
+ $form-icon-danger-color: $brand-danger !default;
557
+ $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
558
 
328
559
 
329
560
  // Dropdowns
330
561
  //
331
562
  // Dropdown menu container and contents.
332
563
 
333
- $dropdown-bg: #fff !default;
334
- $dropdown-border-color: rgba(0,0,0,.15) !default;
564
+ $dropdown-min-width: 10rem !default;
565
+ $dropdown-padding-y: .5rem !default;
566
+ $dropdown-margin-top: .125rem !default;
567
+ $dropdown-bg: $white !default;
568
+ $dropdown-border-color: rgba($black,.15) !default;
335
569
  $dropdown-border-width: $border-width !default;
336
- $dropdown-divider-bg: #e5e5e5 !default;
570
+ $dropdown-divider-bg: $gray-lighter !default;
571
+ $dropdown-box-shadow: 0 .5rem 1rem rgba($black,.175) !default;
337
572
 
338
573
  $dropdown-link-color: $gray-dark !default;
339
- $dropdown-link-hover-color: darken($gray-dark, 5%) !default;
340
- $dropdown-link-hover-bg: #f5f5f5 !default;
574
+ $dropdown-link-hover-color: #fff !default;
575
+ $dropdown-link-hover-bg: $color-3 !default;
341
576
 
342
577
  $dropdown-link-active-color: $component-active-color !default;
343
578
  $dropdown-link-active-bg: $component-active-bg !default;
344
579
 
345
580
  $dropdown-link-disabled-color: $gray-light !default;
346
581
 
582
+ $dropdown-item-padding-x: 1.5rem !default;
583
+
347
584
  $dropdown-header-color: $gray-light !default;
348
585
 
349
586
 
@@ -352,70 +589,79 @@ $dropdown-header-color: $gray-light !default;
352
589
  // Warning: Avoid customizing these values. They're used for a bird's eye view
353
590
  // of components dependent on the z-axis and are designed to all work together.
354
591
 
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;
592
+ $zindex-dropdown-backdrop: 990 !default;
593
+ $zindex-navbar: 1000 !default;
594
+ $zindex-dropdown: 1000 !default;
595
+ $zindex-fixed: 1030 !default;
596
+ $zindex-sticky: 1030 !default;
597
+ $zindex-modal-backdrop: 1040 !default;
598
+ $zindex-modal: 1050 !default;
599
+ $zindex-popover: 1060 !default;
600
+ $zindex-tooltip: 1070 !default;
363
601
 
364
602
 
365
603
  // Navbar
366
604
 
367
605
  $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
-
606
+ $navbar-padding-x: $spacer !default;
607
+ $navbar-padding-y: ($spacer / 2) !default;
608
+
609
+ $navbar-brand-padding-y: .25rem !default;
610
+
611
+ $navbar-toggler-padding-x: .75rem !default;
612
+ $navbar-toggler-padding-y: .25rem !default;
613
+ $navbar-toggler-font-size: $font-size-lg !default;
614
+ $navbar-toggler-border-radius: $btn-border-radius !default;
615
+
616
+ $navbar-inverse-color: rgba($white,.5) !default;
617
+ $navbar-inverse-hover-color: rgba($white,.75) !default;
618
+ $navbar-inverse-active-color: rgba($white,1) !default;
619
+ $navbar-inverse-disabled-color: rgba($white,.25) !default;
620
+ $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;
621
+ $navbar-inverse-toggler-border: rgba($white,.1) !default;
622
+
623
+ $navbar-light-color: rgba($black,.5) !default;
624
+ $navbar-light-hover-color: rgba($black,.7) !default;
625
+ $navbar-light-active-color: rgba($black,.9) !default;
626
+ $navbar-light-disabled-color: rgba($black,.3) !default;
627
+ $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;
628
+ $navbar-light-toggler-border: rgba($black,.1) !default;
381
629
 
382
630
  // Navs
383
631
 
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;
632
+ $nav-item-margin: .2rem !default;
633
+ $nav-item-inline-spacer: 1rem !default;
634
+ $nav-link-padding: .5em 1em !default;
635
+ $nav-link-hover-bg: $gray-lighter !default;
636
+ $nav-disabled-link-color: $gray-light !default;
398
637
 
399
- $nav-tabs-justified-link-border-color: #ddd !default;
400
- $nav-tabs-justified-active-link-border-color: $body-bg !default;
638
+ $nav-tabs-border-color: #ddd !default;
639
+ $nav-tabs-border-width: $border-width !default;
640
+ $nav-tabs-border-radius: $border-radius !default;
641
+ $nav-tabs-link-hover-border-color: $gray-lighter !default;
642
+ $nav-tabs-active-link-hover-color: $gray !default;
643
+ $nav-tabs-active-link-hover-bg: $body-bg !default;
644
+ $nav-tabs-active-link-hover-border-color: #ddd !default;
645
+ $nav-tabs-justified-link-border-color: #ddd !default;
646
+ $nav-tabs-justified-active-link-border-color: $body-bg !default;
401
647
 
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;
648
+ $nav-pills-border-radius: $border-radius !default;
649
+ $nav-pills-active-link-color: $component-active-color !default;
650
+ $nav-pills-active-link-bg: $component-active-bg !default;
405
651
 
406
652
 
407
653
  // Pagination
408
654
 
409
655
  $pagination-padding-x: .75rem !default;
410
656
  $pagination-padding-y: .5rem !default;
411
- $pagination-padding-x-sm: .75rem !default;
412
- $pagination-padding-y-sm: .275rem !default;
657
+ $pagination-padding-x-sm: .5rem !default;
658
+ $pagination-padding-y-sm: .25rem !default;
413
659
  $pagination-padding-x-lg: 1.5rem !default;
414
660
  $pagination-padding-y-lg: .75rem !default;
415
-
661
+ $pagination-line-height: 1.25 !default;
416
662
 
417
663
  $pagination-color: $link-color !default;
418
- $pagination-bg: #fff !default;
664
+ $pagination-bg: $white !default;
419
665
  $pagination-border-width: $border-width !default;
420
666
  $pagination-border-color: #ddd !default;
421
667
 
@@ -423,30 +669,15 @@ $pagination-hover-color: $link-hover-color !default;
423
669
  $pagination-hover-bg: $gray-lighter !default;
424
670
  $pagination-hover-border: #ddd !default;
425
671
 
426
- $pagination-active-color: #fff !default;
672
+ $pagination-active-color: $white !default;
427
673
  $pagination-active-bg: $brand-primary !default;
428
674
  $pagination-active-border: $brand-primary !default;
429
675
 
430
676
  $pagination-disabled-color: $gray-light !default;
431
- $pagination-disabled-bg: #fff !default;
677
+ $pagination-disabled-bg: $white !default;
432
678
  $pagination-disabled-border: #ddd !default;
433
679
 
434
680
 
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
681
  // Jumbotron
451
682
 
452
683
  $jumbotron-padding: 2rem !default;
@@ -467,6 +698,7 @@ $state-info-border: darken($state-info-bg, 7%) !default;
467
698
 
468
699
  $state-warning-text: #8a6d3b !default;
469
700
  $state-warning-bg: #fcf8e3 !default;
701
+ $mark-bg: $state-warning-bg !default;
470
702
  $state-warning-border: darken($state-warning-bg, 5%) !default;
471
703
 
472
704
  $state-danger-text: #a94442 !default;
@@ -475,24 +707,36 @@ $state-danger-border: darken($state-danger-bg, 5%) !default;
475
707
 
476
708
 
477
709
  // Cards
710
+
478
711
  $card-spacer-x: 1.25rem !default;
479
712
  $card-spacer-y: .75rem !default;
480
713
  $card-border-width: 1px !default;
481
714
  $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;
715
+ $card-border-color: rgba($black,.125) !default;
716
+ $card-border-radius-inner: calc(#{$card-border-radius} - #{$card-border-width}) !default;
717
+ $card-cap-bg: $gray-lightest !default;
718
+ $card-bg: $white !default;
719
+
720
+ $card-link-hover-color: $white !default;
721
+
722
+ $card-img-overlay-padding: 1.25rem !default;
723
+
724
+ $card-deck-margin: ($grid-gutter-width-base / 2) !default;
486
725
 
487
- $card-link-hover-color: #fff !default;
726
+ $card-columns-count: 3 !default;
727
+ $card-columns-gap: 1.25rem !default;
728
+ $card-columns-margin: $card-spacer-y !default;
488
729
 
489
730
 
490
731
  // Tooltips
491
732
 
492
733
  $tooltip-max-width: 200px !default;
493
- $tooltip-color: #fff !default;
494
- $tooltip-bg: #000 !default;
734
+ $tooltip-color: $white !default;
735
+ $tooltip-bg: $black !default;
495
736
  $tooltip-opacity: .9 !default;
737
+ $tooltip-padding-y: 3px !default;
738
+ $tooltip-padding-x: 8px !default;
739
+ $tooltip-margin: 3px !default;
496
740
 
497
741
  $tooltip-arrow-width: 5px !default;
498
742
  $tooltip-arrow-color: $tooltip-bg !default;
@@ -500,32 +744,47 @@ $tooltip-arrow-color: $tooltip-bg !default;
500
744
 
501
745
  // Popovers
502
746
 
503
- $popover-bg: #fff !default;
747
+ $popover-inner-padding: 1px !default;
748
+ $popover-bg: $white !default;
504
749
  $popover-max-width: 276px !default;
505
750
  $popover-border-width: $border-width !default;
506
- $popover-border-color: rgba(0,0,0,.2) !default;
751
+ $popover-border-color: rgba($black,.2) !default;
752
+ $popover-box-shadow: 0 5px 10px rgba($black,.2) !default;
507
753
 
508
754
  $popover-title-bg: darken($popover-bg, 3%) !default;
755
+ $popover-title-padding-x: 14px !default;
756
+ $popover-title-padding-y: 8px !default;
757
+
758
+ $popover-content-padding-x: 14px !default;
759
+ $popover-content-padding-y: 9px !default;
509
760
 
510
761
  $popover-arrow-width: 10px !default;
511
762
  $popover-arrow-color: $popover-bg !default;
512
763
 
513
- $popover-arrow-outer-width: ($popover-arrow-width + 1) !default;
514
- $popover-arrow-outer-color: fade-in($popover-border-color, 0.05) !default;
764
+ $popover-arrow-outer-width: ($popover-arrow-width + 1px) !default;
765
+ $popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;
766
+
515
767
 
768
+ // Badges
516
769
 
517
- // Labels
770
+ $badge-default-bg: $color-7 !default;
771
+ $badge-primary-bg: $brand-primary !default;
772
+ $badge-success-bg: $brand-success !default;
773
+ $badge-info-bg: $brand-info !default;
774
+ $badge-warning-bg: $brand-warning !default;
775
+ $badge-danger-bg: $brand-danger !default;
518
776
 
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;
777
+ $badge-color: $white !default;
778
+ $badge-link-hover-color: $white !default;
779
+ $badge-font-size: 75% !default;
780
+ $badge-font-weight: $font-weight-bold !default;
781
+ $badge-padding-x: .4em !default;
782
+ $badge-padding-y: .25em !default;
525
783
 
526
- $label-color: #fff !default;
527
- $label-link-hover-color: #fff !default;
528
- $label-font-weight: bold !default;
784
+ $badge-pill-padding-x: .6em !default;
785
+ // Use a higher than normal value to ensure completely rounded edges when
786
+ // customizing padding or font-size on labels.
787
+ $badge-pill-border-radius: 10rem !default;
529
788
 
530
789
 
531
790
  // Modals
@@ -533,29 +792,41 @@ $label-font-weight: bold !default;
533
792
  // Padding applied to the modal body
534
793
  $modal-inner-padding: 15px !default;
535
794
 
536
- $modal-title-padding: 15px !default;
537
- $modal-title-line-height: $line-height !default;
795
+ $modal-dialog-margin: 10px !default;
796
+ $modal-dialog-sm-up-margin-y: 30px !default;
797
+
798
+ $modal-title-line-height: $line-height-base !default;
538
799
 
539
- $modal-content-bg: #fff !default;
540
- $modal-content-border-color: rgba(0,0,0,.2) !default;
800
+ $modal-content-bg: $white !default;
801
+ $modal-content-border-color: rgba($black,.2) !default;
802
+ $modal-content-border-width: $border-width !default;
803
+ $modal-content-xs-box-shadow: 0 3px 9px rgba($black,.5) !default;
804
+ $modal-content-sm-up-box-shadow: 0 5px 15px rgba($black,.5) !default;
541
805
 
542
- $modal-backdrop-bg: #000 !default;
806
+ $modal-backdrop-bg: $black !default;
543
807
  $modal-backdrop-opacity: .5 !default;
544
- $modal-header-border-color: #e5e5e5 !default;
808
+ $modal-header-border-color: $gray-lighter !default;
545
809
  $modal-footer-border-color: $modal-header-border-color !default;
810
+ $modal-header-border-width: $modal-content-border-width !default;
811
+ $modal-footer-border-width: $modal-header-border-width !default;
812
+ $modal-header-padding: 15px !default;
546
813
 
547
- $modal-lg: 900px !default;
548
- $modal-md: 600px !default;
814
+ $modal-lg: 800px !default;
815
+ $modal-md: 500px !default;
549
816
  $modal-sm: 300px !default;
550
817
 
818
+ $modal-transition: transform .3s ease-out !default;
819
+
551
820
 
552
821
  // Alerts
553
822
  //
554
823
  // Define alert colors, border radius, and padding.
555
824
 
556
- $alert-padding: 15px !default;
825
+ $alert-padding-x: 1.25rem !default;
826
+ $alert-padding-y: .75rem !default;
827
+ $alert-margin-bottom: $spacer-y !default;
557
828
  $alert-border-radius: $border-radius !default;
558
- $alert-link-font-weight: bold !default;
829
+ $alert-link-font-weight: $font-weight-bold !default;
559
830
  $alert-border-width: $border-width !default;
560
831
 
561
832
  $alert-success-bg: $state-success-bg !default;
@@ -577,37 +848,42 @@ $alert-danger-border: $state-danger-border !default;
577
848
 
578
849
  // Progress bars
579
850
 
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
-
851
+ $progress-height: 1rem !default;
852
+ $progress-font-size: .75rem !default;
853
+ $progress-bg: $gray-lighter !default;
854
+ $progress-border-radius: $border-radius !default;
855
+ $progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;
856
+ $progress-bar-color: $white !default;
857
+ $progress-bar-bg: $brand-primary !default;
858
+ $progress-bar-animation-timing: 1s linear infinite !default;
590
859
 
591
860
  // List group
592
861
 
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;
862
+ $list-group-color: $body-color !default;
863
+ $list-group-bg: $white !default;
864
+ $list-group-border-color: rgba($black,.125) !default;
865
+ $list-group-border-width: $border-width !default;
866
+ $list-group-border-radius: $border-radius !default;
867
+
868
+ $list-group-item-padding-x: 1.25rem !default;
869
+ $list-group-item-padding-y: .75rem !default;
597
870
 
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;
871
+ $list-group-hover-bg: $gray-lightest !default;
872
+ $list-group-active-color: $component-active-color !default;
873
+ $list-group-active-bg: $component-active-bg !default;
874
+ $list-group-active-border: $list-group-active-bg !default;
875
+ $list-group-active-text-color: lighten($list-group-active-bg, 50%) !default;
603
876
 
604
877
  $list-group-disabled-color: $gray-light !default;
605
- $list-group-disabled-bg: $gray-lighter !default;
878
+ $list-group-disabled-bg: $list-group-bg !default;
606
879
  $list-group-disabled-text-color: $list-group-disabled-color !default;
607
880
 
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;
881
+ $list-group-link-color: $gray !default;
882
+ $list-group-link-heading-color: $gray-dark !default;
883
+ $list-group-link-hover-color: $list-group-link-color !default;
884
+
885
+ $list-group-link-active-color: $list-group-color !default;
886
+ $list-group-link-active-bg: $gray-lighter !default;
611
887
 
612
888
 
613
889
  // Image thumbnails
@@ -617,14 +893,23 @@ $thumbnail-bg: $body-bg !default;
617
893
  $thumbnail-border-width: $border-width !default;
618
894
  $thumbnail-border-color: #ddd !default;
619
895
  $thumbnail-border-radius: $border-radius !default;
896
+ $thumbnail-box-shadow: 0 1px 2px rgba($black,.075) !default;
897
+ $thumbnail-transition: all .2s ease-in-out !default;
898
+
899
+
900
+ // Figures
901
+
902
+ $figure-caption-font-size: 90% !default;
903
+ $figure-caption-color: $gray-light !default;
620
904
 
621
905
 
622
906
  // Breadcrumbs
623
907
 
624
- $breadcrumb-padding-vertical: .75rem !default;
625
- $breadcrumb-padding-horizontal: 1rem !default;
908
+ $breadcrumb-padding-y: .75rem !default;
909
+ $breadcrumb-padding-x: 1rem !default;
910
+ $breadcrumb-item-padding: .5rem !default;
626
911
 
627
- $breadcrumb-bg: none !default;
912
+ $breadcrumb-bg: transparent !default;
628
913
  $breadcrumb-divider-color: $gray-light !default;
629
914
  $breadcrumb-active-color: $color-4 !default;
630
915
  $breadcrumb-divider: "/" !default;
@@ -632,35 +917,46 @@ $breadcrumb-divider: "/" !default;
632
917
 
633
918
  // Carousel
634
919
 
635
- $carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;
636
-
637
- $carousel-control-color: #fff !default;
920
+ $carousel-control-color: $white !default;
638
921
  $carousel-control-width: 15% !default;
639
922
  $carousel-control-opacity: .5 !default;
640
- $carousel-control-font-size: 20px !default;
641
923
 
642
- $carousel-indicator-active-bg: #fff !default;
643
- $carousel-indicator-border-color: #fff !default;
924
+ $carousel-indicator-width: 30px !default;
925
+ $carousel-indicator-height: 3px !default;
926
+ $carousel-indicator-spacer: 3px !default;
927
+ $carousel-indicator-active-bg: $white !default;
928
+
929
+ $carousel-caption-width: 70% !default;
930
+ $carousel-caption-color: $white !default;
931
+
932
+ $carousel-control-icon-width: 20px !default;
933
+
934
+ $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;
935
+ $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
936
 
645
- $carousel-caption-color: #fff !default;
937
+ $carousel-transition: transform .6s ease-in-out !default;
646
938
 
647
939
 
648
940
  // Close
649
941
 
650
- $close-font-weight: bold !default;
651
- $close-color: #000 !default;
652
- $close-text-shadow: 0 1px 0 #fff !default;
942
+ $close-font-size: $font-size-base * 1.5 !default;
943
+ $close-font-weight: $font-weight-bold !default;
944
+ $close-color: $black !default;
945
+ $close-text-shadow: 0 1px 0 $white !default;
653
946
 
654
947
 
655
948
  // Code
656
949
 
950
+ $code-font-size: 90% !default;
951
+ $code-padding-x: .4rem !default;
952
+ $code-padding-y: .2rem !default;
657
953
  $code-color: #bd4147 !default;
658
- $code-bg: #f7f7f9 !default;
954
+ $code-bg: $gray-lightest !default;
659
955
 
660
- $kbd-color: #fff !default;
661
- $kbd-bg: #333 !default;
956
+ $kbd-color: $white !default;
957
+ $kbd-bg: $gray-dark !default;
662
958
 
663
- $pre-bg: #f7f7f9 !default;
959
+ $pre-bg: $gray-lightest !default;
664
960
  $pre-color: $gray-dark !default;
665
961
  $pre-border-color: #ccc !default;
666
962
  $pre-scrollable-max-height: 340px !default;