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
@@ -10,8 +10,7 @@
10
10
  display: inline-block;
11
11
  width: 0;
12
12
  height: 0;
13
- margin-right: .25rem;
14
- margin-left: .25rem;
13
+ margin-left: $caret-width;
15
14
  vertical-align: middle;
16
15
  content: "";
17
16
  border-top: $caret-width solid;
@@ -42,10 +41,10 @@
42
41
  z-index: $zindex-dropdown;
43
42
  display: none; // none by default, but block on "open" of the menu
44
43
  float: left;
45
- min-width: 160px;
46
- padding: 5px 0;
47
- margin: 2px 0 0; // override default ul
48
- font-size: $font-size-base;
44
+ min-width: $dropdown-min-width;
45
+ padding: $dropdown-padding-y 0;
46
+ margin: $dropdown-margin-top 0 0; // override default ul
47
+ font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues
49
48
  color: $body-color;
50
49
  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
51
50
  list-style: none;
@@ -53,7 +52,7 @@
53
52
  background-clip: padding-box;
54
53
  border: $dropdown-border-width solid $dropdown-border-color;
55
54
  @include border-radius($border-radius);
56
- @include box-shadow(0 6px 12px rgba(0,0,0,.175));
55
+ @include box-shadow($dropdown-box-shadow);
57
56
  }
58
57
 
59
58
  // Dividers (basically an `<hr>`) within the dropdown
@@ -67,10 +66,9 @@
67
66
  .dropdown-item {
68
67
  display: block;
69
68
  width: 100%; // For `<button>`s
70
- padding: 3px 20px;
69
+ padding: 3px $dropdown-item-padding-x;
71
70
  clear: both;
72
- font-weight: normal;
73
- line-height: $line-height;
71
+ font-weight: $font-weight-normal;
74
72
  color: $dropdown-link-color;
75
73
  text-align: inherit; // For `<button>`s
76
74
  white-space: nowrap; // prevent links from randomly breaking onto new lines
@@ -83,37 +81,27 @@
83
81
  background-color: $dropdown-link-hover-bg;
84
82
  }
85
83
 
86
- // Active state
87
- &.active {
88
- @include plain-hover-focus {
89
- color: $dropdown-link-active-color;
90
- text-decoration: none;
91
- background-color: $dropdown-link-active-bg;
92
- outline: 0;
93
- }
84
+ &.active,
85
+ &:active {
86
+ color: $dropdown-link-active-color;
87
+ text-decoration: none;
88
+ background-color: $dropdown-link-active-bg;
94
89
  }
95
90
 
96
- // Disabled state
97
- //
98
- // Gray out text and ensure the hover/focus state remains gray
99
- &.disabled {
100
- @include plain-hover-focus {
101
- color: $dropdown-link-disabled-color;
102
- }
103
-
104
- // Nuke hover/focus effects
105
- @include hover-focus {
106
- text-decoration: none;
107
- cursor: $cursor-disabled;
108
- background-color: transparent;
109
- background-image: none; // Remove CSS gradient
110
- @include reset-filter();
91
+ &.disabled,
92
+ &:disabled {
93
+ color: $dropdown-link-disabled-color;
94
+ cursor: $cursor-disabled;
95
+ background-color: transparent;
96
+ // Remove CSS gradients if they're enabled
97
+ @if $enable-gradients {
98
+ background-image: none;
111
99
  }
112
100
  }
113
101
  }
114
102
 
115
103
  // Open state for the dropdown
116
- .open {
104
+ .show {
117
105
  // Show the menu
118
106
  > .dropdown-menu {
119
107
  display: block;
@@ -133,12 +121,7 @@
133
121
  right: 0;
134
122
  left: auto; // Reset the default from `.dropdown-menu`
135
123
  }
136
- // With v3, we enabled auto-flipping if you have a dropdown within a right
137
- // aligned nav component. To enable the undoing of that, we provide an override
138
- // to restore the default dropdown menu alignment.
139
- //
140
- // This is only for left-aligning a dropdown menu within a `.navbar-right` or
141
- // `.pull-right` nav component.
124
+
142
125
  .dropdown-menu-left {
143
126
  right: auto;
144
127
  left: 0;
@@ -147,9 +130,9 @@
147
130
  // Dropdown section headers
148
131
  .dropdown-header {
149
132
  display: block;
150
- padding: 3px 20px;
133
+ padding: $dropdown-padding-y $dropdown-item-padding-x;
134
+ margin-bottom: 0; // for use with heading elements
151
135
  font-size: $font-size-sm;
152
- line-height: $line-height;
153
136
  color: $dropdown-header-color;
154
137
  white-space: nowrap; // as with > li > a
155
138
  }
@@ -161,33 +144,18 @@
161
144
  right: 0;
162
145
  bottom: 0;
163
146
  left: 0;
164
- z-index: ($zindex-dropdown - 10);
165
- }
166
-
167
- // Right aligned dropdowns
168
- .pull-right > .dropdown-menu {
169
- right: 0;
170
- left: auto;
147
+ z-index: $zindex-dropdown-backdrop;
171
148
  }
172
149
 
173
150
  // Allow for dropdowns to go bottom up (aka, dropup-menu)
174
151
  //
175
152
  // Just add .dropup after the standard .dropdown class and you're set.
176
- // TODO: abstract this so that the navbar fixed styles are not placed here?
177
-
178
- .dropup,
179
- .navbar-fixed-bottom .dropdown {
180
- // Reverse the caret
181
- .caret {
182
- content: "";
183
- border-top: 0;
184
- border-bottom: $caret-width solid;
185
- }
186
153
 
154
+ .dropup {
187
155
  // Different positioning for bottom up menu
188
156
  .dropdown-menu {
189
157
  top: auto;
190
158
  bottom: 100%;
191
- margin-bottom: 2px;
159
+ margin-bottom: $dropdown-margin-top;
192
160
  }
193
161
  }
@@ -1,3 +1,5 @@
1
+ // scss-lint:disable QualifyingElement
2
+
1
3
  //
2
4
  // Textual form controls
3
5
  //
@@ -9,24 +11,25 @@
9
11
  // height: $input-height;
10
12
  padding: $input-padding-y $input-padding-x;
11
13
  font-size: $font-size-base;
12
- line-height: $line-height;
14
+ line-height: $input-line-height;
13
15
  color: $input-color;
14
16
  background-color: $input-bg;
15
17
  // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214.
16
18
  background-image: none;
19
+ background-clip: padding-box;
17
20
  border: $input-btn-border-width solid $input-border-color;
21
+
18
22
  // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
19
- @include border-radius($input-border-radius);
20
- @include box-shadow($input-box-shadow);
21
- @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);
23
+ @if $enable-rounded {
24
+ // Manually use the if/else instead of the mixin to account for iOS override
25
+ border-radius: $input-border-radius;
26
+ } @else {
27
+ // Otherwise undo the iOS default
28
+ border-radius: 0;
29
+ }
22
30
 
23
- // Make inputs at least the height of their button counterpart (base line-height + padding + border).
24
- // Only apply the height to textual inputs and some selects.
25
- // &:not(textarea),
26
- // &:not(select[size]),
27
- // &:not(select[multiple]) {
28
- // height: $input-height;
29
- // }
31
+ @include box-shadow($input-box-shadow);
32
+ @include transition($input-transition);
30
33
 
31
34
  // Unstyle the caret on `<select>`s in IE10+.
32
35
  &::-ms-expand {
@@ -61,6 +64,22 @@
61
64
  }
62
65
  }
63
66
 
67
+ select.form-control {
68
+ &:not([size]):not([multiple]) {
69
+ $select-border-width: ($border-width * 2);
70
+ height: calc(#{$input-height} + #{$select-border-width});
71
+ }
72
+
73
+ &:focus::-ms-value {
74
+ // Suppress the nested default white text on blue background highlight given to
75
+ // the selected option text when the (still closed) <select> receives focus
76
+ // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to
77
+ // match the appearance of the native widget.
78
+ // See https://github.com/twbs/bootstrap/issues/19398.
79
+ color: $input-color;
80
+ background-color: $input-bg;
81
+ }
82
+ }
64
83
 
65
84
  // Make file inputs better match text inputs by forcing them to new lines.
66
85
  .form-control-file,
@@ -75,42 +94,36 @@
75
94
 
76
95
  // For use with horizontal and inline forms, when you need the label text to
77
96
  // align with the form controls.
78
- .form-control-label {
79
- padding: $input-padding-y $input-padding-x;
97
+ .col-form-label {
98
+ padding-top: calc(#{$input-padding-y} - #{$input-btn-border-width} * 2);
99
+ padding-bottom: calc(#{$input-padding-y} - #{$input-btn-border-width} * 2);
80
100
  margin-bottom: 0; // Override the `<label>` default
81
101
  }
82
102
 
103
+ .col-form-label-lg {
104
+ padding-top: calc(#{$input-padding-y-lg} - #{$input-btn-border-width} * 2);
105
+ padding-bottom: calc(#{$input-padding-y-lg} - #{$input-btn-border-width} * 2);
106
+ font-size: $font-size-lg;
107
+ }
108
+
109
+ .col-form-label-sm {
110
+ padding-top: calc(#{$input-padding-y-sm} - #{$input-btn-border-width} * 2);
111
+ padding-bottom: calc(#{$input-padding-y-sm} - #{$input-btn-border-width} * 2);
112
+ font-size: $font-size-sm;
113
+ }
83
114
 
84
- // Todo: clear this up
85
115
 
86
- // Special styles for iOS temporal inputs
87
116
  //
88
- // In Mobile Safari, setting `display: block` on temporal inputs causes the
89
- // text within the input to become vertically misaligned. As a workaround, we
90
- // set a pixel line-height that matches the given height of the input, but only
91
- // for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
117
+ // Legends
92
118
  //
93
- // Note that as of 8.3, iOS doesn't support `datetime` or `week`.
94
-
95
- @media screen and (-webkit-min-device-pixel-ratio: 0) {
96
- input[type="date"],
97
- input[type="time"],
98
- input[type="datetime-local"],
99
- input[type="month"] {
100
- &.form-control {
101
- line-height: $input-height;
102
- }
103
119
 
104
- &.input-sm,
105
- .input-group-sm &.form-control {
106
- line-height: $input-height-sm;
107
- }
108
-
109
- &.input-lg,
110
- .input-group-lg &.form-control {
111
- line-height: $input-height-lg;
112
- }
113
- }
120
+ // For use with horizontal and inline forms, when you need the legend text to
121
+ // be the same size as regular labels, and to align with the form controls.
122
+ .col-form-legend {
123
+ padding-top: $input-padding-y;
124
+ padding-bottom: $input-padding-y;
125
+ margin-bottom: 0;
126
+ font-size: $font-size-base;
114
127
  }
115
128
 
116
129
 
@@ -120,12 +133,12 @@
120
133
  // horizontal form layout.
121
134
 
122
135
  .form-control-static {
123
- min-height: $input-height;
124
- // Size it appropriately next to real form controls
125
136
  padding-top: $input-padding-y;
126
137
  padding-bottom: $input-padding-y;
127
- // Remove default margin from `p`
128
- margin-bottom: 0;
138
+ margin-bottom: 0; // match inputs if this class comes on inputs with default margins
139
+ line-height: $input-line-height;
140
+ border: solid transparent;
141
+ border-width: $input-btn-border-width 0;
129
142
 
130
143
  &.form-control-sm,
131
144
  &.form-control-lg {
@@ -144,21 +157,29 @@
144
157
  // issue documented in https://github.com/twbs/bootstrap/issues/15074.
145
158
 
146
159
  .form-control-sm {
147
- // height: $input-height-sm;
148
160
  padding: $input-padding-y-sm $input-padding-x-sm;
149
161
  font-size: $font-size-sm;
150
- line-height: $line-height-sm;
151
162
  @include border-radius($input-border-radius-sm);
152
163
  }
153
164
 
165
+ select.form-control-sm {
166
+ &:not([size]):not([multiple]) {
167
+ height: $input-height-sm;
168
+ }
169
+ }
170
+
154
171
  .form-control-lg {
155
- // height: $input-height-lg;
156
172
  padding: $input-padding-y-lg $input-padding-x-lg;
157
173
  font-size: $font-size-lg;
158
- line-height: $line-height-lg;
159
174
  @include border-radius($input-border-radius-lg);
160
175
  }
161
176
 
177
+ select.form-control-lg {
178
+ &:not([size]):not([multiple]) {
179
+ height: $input-height-lg;
180
+ }
181
+ }
182
+
162
183
 
163
184
  // Form groups
164
185
  //
@@ -169,88 +190,55 @@
169
190
  margin-bottom: $form-group-margin-bottom;
170
191
  }
171
192
 
193
+ .form-text {
194
+ display: block;
195
+ margin-top: $form-text-margin-top;
196
+ }
197
+
172
198
 
173
199
  // Checkboxes and radios
174
200
  //
175
201
  // Indent the labels to position radios/checkboxes as hanging controls.
176
202
 
177
- .radio,
178
- .checkbox {
203
+ .form-check {
179
204
  position: relative;
180
205
  display: block;
181
- // margin-top: ($spacer * .75);
182
- margin-bottom: ($spacer * .75);
183
-
184
- label {
185
- padding-left: 1.25rem;
186
- margin-bottom: 0;
187
- font-weight: normal;
188
- cursor: pointer;
206
+ margin-bottom: $form-check-margin-bottom;
189
207
 
190
- // When there's no labels, don't position the input.
191
- input:only-child {
192
- position: static;
208
+ &.disabled {
209
+ .form-check-label {
210
+ color: $text-muted;
211
+ cursor: $cursor-disabled;
193
212
  }
194
213
  }
195
214
  }
196
- .radio input[type="radio"],
197
- .radio-inline input[type="radio"],
198
- .checkbox input[type="checkbox"],
199
- .checkbox-inline input[type="checkbox"] {
200
- position: absolute;
201
- margin-top: .25rem;
202
- // margin-top: 4px \9;
203
- margin-left: -1.25rem;
215
+
216
+ .form-check-label {
217
+ padding-left: $form-check-input-gutter;
218
+ margin-bottom: 0; // Override default `<label>` bottom margin
219
+ cursor: pointer;
204
220
  }
205
221
 
206
- .radio + .radio,
207
- .checkbox + .checkbox {
208
- // Move up sibling radios or checkboxes for tighter spacing
209
- margin-top: -.25rem;
222
+ .form-check-input {
223
+ position: absolute;
224
+ margin-top: $form-check-input-margin-y;
225
+ margin-left: -$form-check-input-gutter;
226
+
227
+ &:only-child {
228
+ position: static;
229
+ }
210
230
  }
211
231
 
212
232
  // Radios and checkboxes on same line
213
- .radio-inline,
214
- .checkbox-inline {
215
- position: relative;
233
+ .form-check-inline {
216
234
  display: inline-block;
217
- padding-left: 1.25rem;
218
- margin-bottom: 0;
219
- font-weight: normal;
220
- vertical-align: middle;
221
- cursor: pointer;
222
- }
223
- .radio-inline + .radio-inline,
224
- .checkbox-inline + .checkbox-inline {
225
- margin-top: 0;
226
- margin-left: .75rem;
227
- }
228
235
 
229
- // Apply same disabled cursor tweak as for inputs
230
- // Some special care is needed because <label>s don't inherit their parent's `cursor`.
231
- //
232
- // Note: Neither radios nor checkboxes can be readonly.
233
- input[type="radio"],
234
- input[type="checkbox"] {
235
- &:disabled,
236
- &.disabled {
237
- cursor: $cursor-disabled;
238
- }
239
- }
240
- // These classes are used directly on <label>s
241
- .radio-inline,
242
- .checkbox-inline {
243
- &.disabled {
244
- cursor: $cursor-disabled;
236
+ .form-check-label {
237
+ vertical-align: middle;
245
238
  }
246
- }
247
- // These classes are used on elements with <label> descendants
248
- .radio,
249
- .checkbox {
250
- &.disabled {
251
- label {
252
- cursor: $cursor-disabled;
253
- }
239
+
240
+ + .form-check-inline {
241
+ margin-left: $form-check-inline-margin-x;
254
242
  }
255
243
  }
256
244
 
@@ -259,13 +247,17 @@ input[type="checkbox"] {
259
247
  //
260
248
  // Apply contextual and semantic states to individual form controls.
261
249
 
250
+ .form-control-feedback {
251
+ margin-top: $form-feedback-margin-top;
252
+ }
253
+
262
254
  .form-control-success,
263
255
  .form-control-warning,
264
256
  .form-control-danger {
265
257
  padding-right: ($input-padding-x * 3);
266
258
  background-repeat: no-repeat;
267
- background-position: center right ($input-height * .25);
268
- background-size: ($input-height * .65) ($input-height * .65);
259
+ background-position: center right ($input-height / 4);
260
+ background-size: ($input-height / 2) ($input-height / 2);
269
261
  }
270
262
 
271
263
  // Form validation states
@@ -273,7 +265,7 @@ input[type="checkbox"] {
273
265
  @include form-control-validation($brand-success);
274
266
 
275
267
  .form-control-success {
276
- background-image: url($form-icon-success);
268
+ background-image: $form-icon-success;
277
269
  }
278
270
  }
279
271
 
@@ -281,7 +273,7 @@ input[type="checkbox"] {
281
273
  @include form-control-validation($brand-warning);
282
274
 
283
275
  .form-control-warning {
284
- background-image: url($form-icon-warning);
276
+ background-image: $form-icon-warning;
285
277
  }
286
278
  }
287
279
 
@@ -289,89 +281,11 @@ input[type="checkbox"] {
289
281
  @include form-control-validation($brand-danger);
290
282
 
291
283
  .form-control-danger {
292
- background-image: url($form-icon-danger);
284
+ background-image: $form-icon-danger;
293
285
  }
294
286
  }
295
287
 
296
288
 
297
-
298
-
299
- // .form-control-success {
300
- // background-image: url("#{$form-icon-success}");
301
- // border-color: $brand-success;
302
- // }
303
- //
304
- // .form-control-warning {
305
- // background-image: url("#{$form-icon-warning}");
306
- // border-color: $brand-warning;
307
- // }
308
- //
309
- // .form-control-error {
310
- // background-image: url("#{$form-icon-danger}");
311
- // border-color: $brand-danger;
312
- // }
313
-
314
-
315
- // .has-feedback {
316
- // // Enable absolute positioning
317
- // position: relative;
318
- //
319
- // // Ensure icons don't overlap text
320
- // .form-control {
321
- // padding-right: ($input-height * 1.25);
322
- // }
323
- // }
324
- // // Feedback icon
325
- // .form-control-feedback {
326
- // position: absolute;
327
- // top: 0;
328
- // right: 0;
329
- // z-index: 2; // Ensure icon is above input groups
330
- // display: block;
331
- // width: $input-height;
332
- // height: $input-height;
333
- // line-height: $input-height;
334
- // text-align: center;
335
- // pointer-events: none;
336
- // }
337
- // .input-lg + .form-control-feedback,
338
- // .input-group-lg + .form-control-feedback {
339
- // width: $input-height-lg;
340
- // height: $input-height-lg;
341
- // line-height: $input-height-lg;
342
- // }
343
- // .input-sm + .form-control-feedback,
344
- // .input-group-sm + .form-control-feedback {
345
- // width: $input-height-sm;
346
- // height: $input-height-sm;
347
- // line-height: $input-height-sm;
348
- // }
349
- //
350
- // // Form validation states
351
- // .has-success {
352
- // @include form-control-validation($state-success-text, $state-success-text, $state-success-bg);
353
- // }
354
- // .has-warning {
355
- // @include form-control-validation($state-warning-text, $state-warning-text, $state-warning-bg);
356
- // }
357
- // .has-danger {
358
- // @include form-control-validation($state-danger-text, $state-danger-text, $state-danger-bg);
359
- // }
360
- //
361
- // // Reposition feedback icon if input has visible label above
362
- // .has-feedback label {
363
- //
364
- // ~ .form-control-feedback {
365
- // // TODO: redo this since we nuked the `$line-height-computed`
366
- // top: 0; // Height of the `label` and its margin
367
- // }
368
- //
369
- // &.sr-only ~ .form-control-feedback {
370
- // top: 0;
371
- // }
372
- // }
373
-
374
-
375
289
  // Inline forms
376
290
  //
377
291
  // Make forms appear inline(-block) by adding the `.form-inline` class. Inline
@@ -382,14 +296,33 @@ input[type="checkbox"] {
382
296
  // default HTML form controls and our custom form controls (e.g., input groups).
383
297
 
384
298
  .form-inline {
299
+ display: flex;
300
+ flex-flow: row wrap;
301
+ align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)
302
+
303
+ // Because we use flex, the initial sizing of checkboxes is collapsed and
304
+ // doesn't occupy the full-width (which is what we want for xs grid tier),
305
+ // so we force that here.
306
+ .form-check {
307
+ width: 100%;
308
+ }
385
309
 
386
310
  // Kick in the inline
387
311
  @include media-breakpoint-up(sm) {
312
+ label {
313
+ display: flex;
314
+ align-items: center;
315
+ justify-content: center;
316
+ margin-bottom: 0;
317
+ }
318
+
388
319
  // Inline-block all the things for "inline"
389
320
  .form-group {
390
- display: inline-block;
321
+ display: flex;
322
+ flex: 0 0 auto;
323
+ flex-flow: row wrap;
324
+ align-items: center;
391
325
  margin-bottom: 0;
392
- vertical-align: middle;
393
326
  }
394
327
 
395
328
  // Allow folks to *not* use `.form-group`
@@ -405,19 +338,7 @@ input[type="checkbox"] {
405
338
  }
406
339
 
407
340
  .input-group {
408
- display: inline-table;
409
- vertical-align: middle;
410
-
411
- .input-group-addon,
412
- .input-group-btn,
413
- .form-control {
414
- width: auto;
415
- }
416
- }
417
-
418
- // Input groups need that 100% width though
419
- .input-group > .form-control {
420
- width: 100%;
341
+ width: auto;
421
342
  }
422
343
 
423
344
  .form-control-label {
@@ -427,23 +348,38 @@ input[type="checkbox"] {
427
348
 
428
349
  // Remove default margin on radios/checkboxes that were used for stacking, and
429
350
  // then undo the floating of radios and checkboxes to match.
430
- .radio,
431
- .checkbox {
432
- display: inline-block;
351
+ .form-check {
352
+ display: flex;
353
+ align-items: center;
354
+ justify-content: center;
355
+ width: auto;
433
356
  margin-top: 0;
434
357
  margin-bottom: 0;
435
- vertical-align: middle;
436
-
437
- label {
438
- padding-left: 0;
439
- }
440
358
  }
441
- .radio input[type="radio"],
442
- .checkbox input[type="checkbox"] {
359
+ .form-check-label {
360
+ padding-left: 0;
361
+ }
362
+ .form-check-input {
443
363
  position: relative;
364
+ margin-top: 0;
365
+ margin-right: $form-check-input-margin-x;
444
366
  margin-left: 0;
445
367
  }
446
368
 
369
+ // Custom form controls
370
+ .custom-control {
371
+ display: flex;
372
+ align-items: center;
373
+ justify-content: center;
374
+ padding-left: 0;
375
+ }
376
+ .custom-control-indicator {
377
+ position: static;
378
+ display: inline-block;
379
+ margin-right: $form-check-input-margin-x; // Flexbox alignment means we lose our HTML space here, so we compensate.
380
+ vertical-align: text-bottom;
381
+ }
382
+
447
383
  // Re-override the feedback icon.
448
384
  .has-feedback .form-control-feedback {
449
385
  top: 0;