spree_frontend 2.4.10 → 3.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (378) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1 -0
  3. data/Gemfile +6 -0
  4. data/LICENSE +1 -1
  5. data/README.md +39 -10
  6. data/Rakefile +29 -0
  7. data/{vendor → app}/assets/images/flags/ad.png +0 -0
  8. data/{vendor → app}/assets/images/flags/ae.png +0 -0
  9. data/{vendor → app}/assets/images/flags/af.png +0 -0
  10. data/{vendor → app}/assets/images/flags/ag.png +0 -0
  11. data/{vendor → app}/assets/images/flags/ai.png +0 -0
  12. data/{vendor → app}/assets/images/flags/al.png +0 -0
  13. data/{vendor → app}/assets/images/flags/am.png +0 -0
  14. data/{vendor → app}/assets/images/flags/an.png +0 -0
  15. data/{vendor → app}/assets/images/flags/ao.png +0 -0
  16. data/{vendor → app}/assets/images/flags/ar.png +0 -0
  17. data/{vendor → app}/assets/images/flags/as.png +0 -0
  18. data/{vendor → app}/assets/images/flags/at.png +0 -0
  19. data/{vendor → app}/assets/images/flags/au.png +0 -0
  20. data/{vendor → app}/assets/images/flags/aw.png +0 -0
  21. data/{vendor → app}/assets/images/flags/ax.png +0 -0
  22. data/{vendor → app}/assets/images/flags/az.png +0 -0
  23. data/{vendor → app}/assets/images/flags/ba.png +0 -0
  24. data/{vendor → app}/assets/images/flags/bb.png +0 -0
  25. data/{vendor → app}/assets/images/flags/bd.png +0 -0
  26. data/{vendor → app}/assets/images/flags/be.png +0 -0
  27. data/{vendor → app}/assets/images/flags/bf.png +0 -0
  28. data/{vendor → app}/assets/images/flags/bg.png +0 -0
  29. data/{vendor → app}/assets/images/flags/bh.png +0 -0
  30. data/{vendor → app}/assets/images/flags/bi.png +0 -0
  31. data/{vendor → app}/assets/images/flags/bj.png +0 -0
  32. data/{vendor → app}/assets/images/flags/bm.png +0 -0
  33. data/{vendor → app}/assets/images/flags/bn.png +0 -0
  34. data/{vendor → app}/assets/images/flags/bo.png +0 -0
  35. data/{vendor → app}/assets/images/flags/br.png +0 -0
  36. data/{vendor → app}/assets/images/flags/bs.png +0 -0
  37. data/{vendor → app}/assets/images/flags/bt.png +0 -0
  38. data/{vendor → app}/assets/images/flags/bv.png +0 -0
  39. data/{vendor → app}/assets/images/flags/bw.png +0 -0
  40. data/{vendor → app}/assets/images/flags/by.png +0 -0
  41. data/{vendor → app}/assets/images/flags/bz.png +0 -0
  42. data/{vendor → app}/assets/images/flags/ca.png +0 -0
  43. data/{vendor → app}/assets/images/flags/catalonia.png +0 -0
  44. data/{vendor → app}/assets/images/flags/cc.png +0 -0
  45. data/{vendor → app}/assets/images/flags/cd.png +0 -0
  46. data/{vendor → app}/assets/images/flags/cf.png +0 -0
  47. data/{vendor → app}/assets/images/flags/cg.png +0 -0
  48. data/{vendor → app}/assets/images/flags/ch.png +0 -0
  49. data/{vendor → app}/assets/images/flags/ci.png +0 -0
  50. data/{vendor → app}/assets/images/flags/ck.png +0 -0
  51. data/{vendor → app}/assets/images/flags/cl.png +0 -0
  52. data/{vendor → app}/assets/images/flags/cm.png +0 -0
  53. data/{vendor → app}/assets/images/flags/cn.png +0 -0
  54. data/{vendor → app}/assets/images/flags/co.png +0 -0
  55. data/{vendor → app}/assets/images/flags/cr.png +0 -0
  56. data/{vendor → app}/assets/images/flags/cs.png +0 -0
  57. data/{vendor → app}/assets/images/flags/cu.png +0 -0
  58. data/{vendor → app}/assets/images/flags/cv.png +0 -0
  59. data/{vendor → app}/assets/images/flags/cx.png +0 -0
  60. data/{vendor → app}/assets/images/flags/cy.png +0 -0
  61. data/{vendor → app}/assets/images/flags/cz.png +0 -0
  62. data/{vendor → app}/assets/images/flags/de.png +0 -0
  63. data/{vendor → app}/assets/images/flags/dj.png +0 -0
  64. data/{vendor → app}/assets/images/flags/dk.png +0 -0
  65. data/{vendor → app}/assets/images/flags/dm.png +0 -0
  66. data/{vendor → app}/assets/images/flags/do.png +0 -0
  67. data/{vendor → app}/assets/images/flags/dz.png +0 -0
  68. data/{vendor → app}/assets/images/flags/ec.png +0 -0
  69. data/{vendor → app}/assets/images/flags/ee.png +0 -0
  70. data/{vendor → app}/assets/images/flags/eg.png +0 -0
  71. data/{vendor → app}/assets/images/flags/eh.png +0 -0
  72. data/{vendor → app}/assets/images/flags/england.png +0 -0
  73. data/{vendor → app}/assets/images/flags/er.png +0 -0
  74. data/{vendor → app}/assets/images/flags/es.png +0 -0
  75. data/{vendor → app}/assets/images/flags/et.png +0 -0
  76. data/{vendor → app}/assets/images/flags/europeanunion.png +0 -0
  77. data/{vendor → app}/assets/images/flags/fam.png +0 -0
  78. data/{vendor → app}/assets/images/flags/fi.png +0 -0
  79. data/{vendor → app}/assets/images/flags/fj.png +0 -0
  80. data/{vendor → app}/assets/images/flags/fk.png +0 -0
  81. data/{vendor → app}/assets/images/flags/fm.png +0 -0
  82. data/{vendor → app}/assets/images/flags/fo.png +0 -0
  83. data/{vendor → app}/assets/images/flags/fr.png +0 -0
  84. data/{vendor → app}/assets/images/flags/ga.png +0 -0
  85. data/{vendor → app}/assets/images/flags/gb.png +0 -0
  86. data/{vendor → app}/assets/images/flags/gd.png +0 -0
  87. data/{vendor → app}/assets/images/flags/ge.png +0 -0
  88. data/{vendor → app}/assets/images/flags/gf.png +0 -0
  89. data/{vendor → app}/assets/images/flags/gh.png +0 -0
  90. data/{vendor → app}/assets/images/flags/gi.png +0 -0
  91. data/{vendor → app}/assets/images/flags/gl.png +0 -0
  92. data/{vendor → app}/assets/images/flags/gm.png +0 -0
  93. data/{vendor → app}/assets/images/flags/gn.png +0 -0
  94. data/{vendor → app}/assets/images/flags/gp.png +0 -0
  95. data/{vendor → app}/assets/images/flags/gq.png +0 -0
  96. data/{vendor → app}/assets/images/flags/gr.png +0 -0
  97. data/{vendor → app}/assets/images/flags/gs.png +0 -0
  98. data/{vendor → app}/assets/images/flags/gt.png +0 -0
  99. data/{vendor → app}/assets/images/flags/gu.png +0 -0
  100. data/{vendor → app}/assets/images/flags/gw.png +0 -0
  101. data/{vendor → app}/assets/images/flags/gy.png +0 -0
  102. data/{vendor → app}/assets/images/flags/hk.png +0 -0
  103. data/{vendor → app}/assets/images/flags/hm.png +0 -0
  104. data/{vendor → app}/assets/images/flags/hn.png +0 -0
  105. data/{vendor → app}/assets/images/flags/hr.png +0 -0
  106. data/{vendor → app}/assets/images/flags/ht.png +0 -0
  107. data/{vendor → app}/assets/images/flags/hu.png +0 -0
  108. data/{vendor → app}/assets/images/flags/id.png +0 -0
  109. data/{vendor → app}/assets/images/flags/ie.png +0 -0
  110. data/{vendor → app}/assets/images/flags/il.png +0 -0
  111. data/{vendor → app}/assets/images/flags/in.png +0 -0
  112. data/{vendor → app}/assets/images/flags/io.png +0 -0
  113. data/{vendor → app}/assets/images/flags/iq.png +0 -0
  114. data/{vendor → app}/assets/images/flags/ir.png +0 -0
  115. data/{vendor → app}/assets/images/flags/is.png +0 -0
  116. data/{vendor → app}/assets/images/flags/it.png +0 -0
  117. data/{vendor → app}/assets/images/flags/ja.png +0 -0
  118. data/{vendor → app}/assets/images/flags/jm.png +0 -0
  119. data/{vendor → app}/assets/images/flags/jo.png +0 -0
  120. data/{vendor → app}/assets/images/flags/ke.png +0 -0
  121. data/{vendor → app}/assets/images/flags/kg.png +0 -0
  122. data/{vendor → app}/assets/images/flags/kh.png +0 -0
  123. data/{vendor → app}/assets/images/flags/ki.png +0 -0
  124. data/{vendor → app}/assets/images/flags/km.png +0 -0
  125. data/{vendor → app}/assets/images/flags/kn.png +0 -0
  126. data/{vendor → app}/assets/images/flags/kp.png +0 -0
  127. data/{vendor → app}/assets/images/flags/kr.png +0 -0
  128. data/{vendor → app}/assets/images/flags/kw.png +0 -0
  129. data/{vendor → app}/assets/images/flags/ky.png +0 -0
  130. data/{vendor → app}/assets/images/flags/kz.png +0 -0
  131. data/{vendor → app}/assets/images/flags/la.png +0 -0
  132. data/{vendor → app}/assets/images/flags/lb.png +0 -0
  133. data/{vendor → app}/assets/images/flags/lc.png +0 -0
  134. data/{vendor → app}/assets/images/flags/li.png +0 -0
  135. data/{vendor → app}/assets/images/flags/lk.png +0 -0
  136. data/{vendor → app}/assets/images/flags/lr.png +0 -0
  137. data/{vendor → app}/assets/images/flags/ls.png +0 -0
  138. data/{vendor → app}/assets/images/flags/lt.png +0 -0
  139. data/{vendor → app}/assets/images/flags/lu.png +0 -0
  140. data/{vendor → app}/assets/images/flags/lv.png +0 -0
  141. data/{vendor → app}/assets/images/flags/ly.png +0 -0
  142. data/{vendor → app}/assets/images/flags/ma.png +0 -0
  143. data/{vendor → app}/assets/images/flags/mc.png +0 -0
  144. data/{vendor → app}/assets/images/flags/md.png +0 -0
  145. data/{vendor → app}/assets/images/flags/me.png +0 -0
  146. data/{vendor → app}/assets/images/flags/mg.png +0 -0
  147. data/{vendor → app}/assets/images/flags/mh.png +0 -0
  148. data/{vendor → app}/assets/images/flags/mk.png +0 -0
  149. data/{vendor → app}/assets/images/flags/ml.png +0 -0
  150. data/{vendor → app}/assets/images/flags/mm.png +0 -0
  151. data/{vendor → app}/assets/images/flags/mn.png +0 -0
  152. data/{vendor → app}/assets/images/flags/mo.png +0 -0
  153. data/{vendor → app}/assets/images/flags/mp.png +0 -0
  154. data/{vendor → app}/assets/images/flags/mq.png +0 -0
  155. data/{vendor → app}/assets/images/flags/mr.png +0 -0
  156. data/{vendor → app}/assets/images/flags/ms.png +0 -0
  157. data/{vendor → app}/assets/images/flags/mt.png +0 -0
  158. data/{vendor → app}/assets/images/flags/mu.png +0 -0
  159. data/{vendor → app}/assets/images/flags/mv.png +0 -0
  160. data/{vendor → app}/assets/images/flags/mw.png +0 -0
  161. data/{vendor → app}/assets/images/flags/mx.png +0 -0
  162. data/{vendor → app}/assets/images/flags/my.png +0 -0
  163. data/{vendor → app}/assets/images/flags/mz.png +0 -0
  164. data/{vendor → app}/assets/images/flags/na.png +0 -0
  165. data/{vendor → app}/assets/images/flags/nc.png +0 -0
  166. data/{vendor → app}/assets/images/flags/ne.png +0 -0
  167. data/{vendor → app}/assets/images/flags/nf.png +0 -0
  168. data/{vendor → app}/assets/images/flags/ng.png +0 -0
  169. data/{vendor → app}/assets/images/flags/ni.png +0 -0
  170. data/{vendor → app}/assets/images/flags/nl.png +0 -0
  171. data/{vendor → app}/assets/images/flags/no.png +0 -0
  172. data/{vendor → app}/assets/images/flags/np.png +0 -0
  173. data/{vendor → app}/assets/images/flags/nr.png +0 -0
  174. data/{vendor → app}/assets/images/flags/nu.png +0 -0
  175. data/{vendor → app}/assets/images/flags/nz.png +0 -0
  176. data/{vendor → app}/assets/images/flags/om.png +0 -0
  177. data/{vendor → app}/assets/images/flags/pa.png +0 -0
  178. data/{vendor → app}/assets/images/flags/pe.png +0 -0
  179. data/{vendor → app}/assets/images/flags/pf.png +0 -0
  180. data/{vendor → app}/assets/images/flags/pg.png +0 -0
  181. data/{vendor → app}/assets/images/flags/ph.png +0 -0
  182. data/{vendor → app}/assets/images/flags/pk.png +0 -0
  183. data/{vendor → app}/assets/images/flags/pl.png +0 -0
  184. data/{vendor → app}/assets/images/flags/pm.png +0 -0
  185. data/{vendor → app}/assets/images/flags/pn.png +0 -0
  186. data/{vendor → app}/assets/images/flags/pr.png +0 -0
  187. data/{vendor → app}/assets/images/flags/ps.png +0 -0
  188. data/{vendor → app}/assets/images/flags/pt.png +0 -0
  189. data/{vendor → app}/assets/images/flags/pw.png +0 -0
  190. data/{vendor → app}/assets/images/flags/py.png +0 -0
  191. data/{vendor → app}/assets/images/flags/qa.png +0 -0
  192. data/{vendor → app}/assets/images/flags/re.png +0 -0
  193. data/{vendor → app}/assets/images/flags/ro.png +0 -0
  194. data/{vendor → app}/assets/images/flags/rs.png +0 -0
  195. data/{vendor → app}/assets/images/flags/ru.png +0 -0
  196. data/{vendor → app}/assets/images/flags/rw.png +0 -0
  197. data/{vendor → app}/assets/images/flags/sa.png +0 -0
  198. data/{vendor → app}/assets/images/flags/sb.png +0 -0
  199. data/{vendor → app}/assets/images/flags/sc.png +0 -0
  200. data/{vendor → app}/assets/images/flags/scotland.png +0 -0
  201. data/{vendor → app}/assets/images/flags/sd.png +0 -0
  202. data/{vendor → app}/assets/images/flags/se.png +0 -0
  203. data/{vendor → app}/assets/images/flags/sg.png +0 -0
  204. data/{vendor → app}/assets/images/flags/sh.png +0 -0
  205. data/{vendor → app}/assets/images/flags/si.png +0 -0
  206. data/{vendor → app}/assets/images/flags/sj.png +0 -0
  207. data/{vendor → app}/assets/images/flags/sk.png +0 -0
  208. data/{vendor → app}/assets/images/flags/sl.png +0 -0
  209. data/{vendor → app}/assets/images/flags/sm.png +0 -0
  210. data/{vendor → app}/assets/images/flags/sn.png +0 -0
  211. data/{vendor → app}/assets/images/flags/so.png +0 -0
  212. data/{vendor → app}/assets/images/flags/sr.png +0 -0
  213. data/{vendor → app}/assets/images/flags/st.png +0 -0
  214. data/{vendor → app}/assets/images/flags/sv.png +0 -0
  215. data/{vendor → app}/assets/images/flags/sy.png +0 -0
  216. data/{vendor → app}/assets/images/flags/sz.png +0 -0
  217. data/{vendor → app}/assets/images/flags/tc.png +0 -0
  218. data/{vendor → app}/assets/images/flags/td.png +0 -0
  219. data/{vendor → app}/assets/images/flags/tf.png +0 -0
  220. data/{vendor → app}/assets/images/flags/tg.png +0 -0
  221. data/{vendor → app}/assets/images/flags/th.png +0 -0
  222. data/{vendor → app}/assets/images/flags/tj.png +0 -0
  223. data/{vendor → app}/assets/images/flags/tk.png +0 -0
  224. data/{vendor → app}/assets/images/flags/tl.png +0 -0
  225. data/{vendor → app}/assets/images/flags/tm.png +0 -0
  226. data/{vendor → app}/assets/images/flags/tn.png +0 -0
  227. data/{vendor → app}/assets/images/flags/to.png +0 -0
  228. data/{vendor → app}/assets/images/flags/tr.png +0 -0
  229. data/{vendor → app}/assets/images/flags/tt.png +0 -0
  230. data/{vendor → app}/assets/images/flags/tv.png +0 -0
  231. data/{vendor → app}/assets/images/flags/tw.png +0 -0
  232. data/{vendor → app}/assets/images/flags/tz.png +0 -0
  233. data/{vendor → app}/assets/images/flags/ua.png +0 -0
  234. data/{vendor → app}/assets/images/flags/ug.png +0 -0
  235. data/{vendor → app}/assets/images/flags/um.png +0 -0
  236. data/{vendor → app}/assets/images/flags/us.png +0 -0
  237. data/{vendor → app}/assets/images/flags/uy.png +0 -0
  238. data/{vendor → app}/assets/images/flags/uz.png +0 -0
  239. data/{vendor → app}/assets/images/flags/va.png +0 -0
  240. data/{vendor → app}/assets/images/flags/vc.png +0 -0
  241. data/{vendor → app}/assets/images/flags/ve.png +0 -0
  242. data/{vendor → app}/assets/images/flags/vg.png +0 -0
  243. data/{vendor → app}/assets/images/flags/vi.png +0 -0
  244. data/{vendor → app}/assets/images/flags/vn.png +0 -0
  245. data/{vendor → app}/assets/images/flags/vu.png +0 -0
  246. data/{vendor → app}/assets/images/flags/wales.png +0 -0
  247. data/{vendor → app}/assets/images/flags/wf.png +0 -0
  248. data/{vendor → app}/assets/images/flags/ws.png +0 -0
  249. data/{vendor → app}/assets/images/flags/ye.png +0 -0
  250. data/{vendor → app}/assets/images/flags/yt.png +0 -0
  251. data/{vendor → app}/assets/images/flags/za.png +0 -0
  252. data/{vendor → app}/assets/images/flags/zm.png +0 -0
  253. data/{vendor → app}/assets/images/flags/zw.png +0 -0
  254. data/app/assets/images/logo/spree_50.png +0 -0
  255. data/app/assets/images/spree_header.jpg +0 -0
  256. data/app/assets/javascripts/spree/frontend.js +1 -1
  257. data/app/assets/javascripts/spree/frontend/checkout/payment.js.coffee +2 -2
  258. data/app/assets/stylesheets/spree/frontend.css +4 -4
  259. data/app/assets/stylesheets/spree/frontend/_variables.scss +4 -61
  260. data/app/assets/stylesheets/spree/frontend/frontend_bootstrap.css.scss +102 -0
  261. data/app/controllers/spree/checkout_controller.rb +31 -27
  262. data/app/controllers/spree/orders_controller.rb +20 -8
  263. data/app/controllers/spree/store_controller.rb +2 -3
  264. data/app/controllers/spree/taxons_controller.rb +2 -2
  265. data/app/helpers/spree/frontend_helper.rb +93 -0
  266. data/app/helpers/spree/orders_helper.rb +16 -0
  267. data/app/helpers/spree/store_helper.rb +10 -0
  268. data/app/helpers/spree/taxons_helper.rb +19 -0
  269. data/app/models/spree/frontend_configuration.rb +1 -1
  270. data/app/views/kaminari/twitter-bootstrap-3/_first_page.html.erb +13 -0
  271. data/app/views/kaminari/twitter-bootstrap-3/_gap.html.erb +8 -0
  272. data/app/views/kaminari/twitter-bootstrap-3/_last_page.html.erb +13 -0
  273. data/app/views/kaminari/twitter-bootstrap-3/_next_page.html.erb +13 -0
  274. data/app/views/kaminari/twitter-bootstrap-3/_page.html.erb +12 -0
  275. data/app/views/kaminari/twitter-bootstrap-3/_paginator.html.erb +24 -0
  276. data/app/views/kaminari/twitter-bootstrap-3/_prev_page.html.erb +13 -0
  277. data/app/views/spree/address/_form.html.erb +24 -24
  278. data/app/views/spree/checkout/_address.html.erb +33 -22
  279. data/app/views/spree/checkout/_confirm.html.erb +10 -9
  280. data/app/views/spree/checkout/_delivery.html.erb +24 -20
  281. data/app/views/spree/checkout/_payment.html.erb +17 -18
  282. data/app/views/spree/checkout/_summary.html.erb +2 -2
  283. data/app/views/spree/checkout/edit.html.erb +23 -14
  284. data/app/views/spree/checkout/payment/_gateway.html.erb +31 -28
  285. data/app/views/spree/layouts/spree_application.html.erb +6 -12
  286. data/app/views/spree/orders/_adjustments.html.erb +5 -0
  287. data/app/views/spree/orders/_form.html.erb +8 -8
  288. data/app/views/spree/orders/_line_item.html.erb +6 -6
  289. data/app/views/spree/orders/edit.html.erb +14 -16
  290. data/app/views/spree/orders/show.html.erb +9 -4
  291. data/app/views/spree/products/_cart_form.html.erb +15 -11
  292. data/app/views/spree/products/_promotions.html.erb +1 -1
  293. data/app/views/spree/products/_properties.html.erb +2 -2
  294. data/app/views/spree/products/_taxons.html.erb +4 -4
  295. data/app/views/spree/products/_thumbnails.html.erb +3 -3
  296. data/app/views/spree/products/index.html.erb +13 -9
  297. data/app/views/spree/products/show.html.erb +11 -9
  298. data/app/views/spree/shared/_error_messages.html.erb +12 -0
  299. data/app/views/spree/shared/_filters.html.erb +4 -4
  300. data/app/views/spree/shared/_footer.html.erb +10 -6
  301. data/app/views/spree/shared/_google_add_items.js.erb +11 -0
  302. data/app/views/spree/shared/_google_analytics.js.erb +13 -0
  303. data/app/views/spree/shared/_google_checkout.js.erb +10 -0
  304. data/app/views/spree/shared/_google_purchase.js.erb +13 -0
  305. data/app/views/spree/shared/_head.html.erb +1 -1
  306. data/app/views/spree/shared/_header.html.erb +17 -5
  307. data/app/views/spree/shared/_login.html.erb +19 -0
  308. data/app/views/spree/shared/_login_bar.html.erb +6 -0
  309. data/app/views/spree/shared/_main_nav_bar.html.erb +15 -11
  310. data/app/views/spree/shared/_nav_bar.html.erb +3 -2
  311. data/app/views/spree/shared/_order_details.html.erb +30 -31
  312. data/app/views/spree/shared/_products.html.erb +19 -15
  313. data/app/views/spree/shared/_search.html.erb +8 -4
  314. data/app/views/spree/shared/_sidebar.html.erb +1 -1
  315. data/app/views/spree/shared/_taxonomies.html.erb +1 -1
  316. data/app/views/spree/taxons/show.html.erb +1 -1
  317. data/config/initializers/spree.rb +0 -2
  318. data/lib/spree/frontend.rb +5 -4
  319. data/lib/spree/frontend/engine.rb +2 -2
  320. data/script/rails +9 -0
  321. data/spec/controllers/controller_extension_spec.rb +115 -0
  322. data/spec/controllers/controller_helpers_spec.rb +26 -0
  323. data/spec/controllers/spree/checkout_controller_spec.rb +424 -0
  324. data/spec/controllers/spree/checkout_controller_with_views_spec.rb +36 -0
  325. data/spec/controllers/spree/content_controller_spec.rb +12 -0
  326. data/spec/controllers/spree/current_order_tracking_spec.rb +44 -0
  327. data/spec/controllers/spree/home_controller_spec.rb +27 -0
  328. data/spec/controllers/spree/orders_controller_ability_spec.rb +104 -0
  329. data/spec/controllers/spree/orders_controller_spec.rb +134 -0
  330. data/spec/controllers/spree/orders_controller_transitions_spec.rb +31 -0
  331. data/spec/controllers/spree/products_controller_spec.rb +36 -0
  332. data/spec/controllers/spree/taxons_controller_spec.rb +12 -0
  333. data/spec/features/address_spec.rb +93 -0
  334. data/spec/features/automatic_promotion_adjustments_spec.rb +47 -0
  335. data/spec/features/caching/products_spec.rb +55 -0
  336. data/spec/features/caching/taxons_spec.rb +22 -0
  337. data/spec/features/cart_spec.rb +84 -0
  338. data/spec/features/checkout_spec.rb +515 -0
  339. data/spec/features/checkout_unshippable_spec.rb +34 -0
  340. data/spec/features/coupon_code_spec.rb +87 -0
  341. data/spec/features/currency_spec.rb +18 -0
  342. data/spec/features/free_shipping_promotions_spec.rb +59 -0
  343. data/spec/features/locale_spec.rb +60 -0
  344. data/spec/features/order_spec.rb +74 -0
  345. data/spec/features/page_promotions_spec.rb +36 -0
  346. data/spec/features/products_spec.rb +262 -0
  347. data/spec/features/taxons_spec.rb +147 -0
  348. data/spec/features/template_rendering_spec.rb +19 -0
  349. data/spec/fixtures/thinking-cat.jpg +0 -0
  350. data/spec/helpers/frontend_helper_spec.rb +41 -0
  351. data/spec/helpers/order_helper_spec.rb +12 -0
  352. data/spec/helpers/taxons_helper_spec.rb +17 -0
  353. data/spec/spec_helper.rb +115 -0
  354. data/spec/support/shared_contexts/checkout_setup.rb +9 -0
  355. data/spec/support/shared_contexts/custom_products.rb +25 -0
  356. data/spec/support/shared_contexts/product_prototypes.rb +30 -0
  357. data/spec/views/spree/checkout/_summary_spec.rb +11 -0
  358. data/spree_frontend.gemspec +30 -0
  359. metadata +392 -282
  360. data/app/assets/images/icons/add-to-cart.png +0 -0
  361. data/app/assets/images/icons/checkout.png +0 -0
  362. data/app/assets/images/icons/delete.png +0 -0
  363. data/app/assets/images/icons/update.png +0 -0
  364. data/app/assets/images/spinner.gif +0 -0
  365. data/app/assets/images/spree/frontend/cart.png +0 -0
  366. data/app/assets/images/spree/frontend/select_arrow.gif +0 -0
  367. data/app/assets/stylesheets/spree/frontend/screen.css.scss +0 -1321
  368. data/app/views/spree/shared/_google_analytics.html.erb +0 -40
  369. data/config/initializers/assets.rb +0 -1
  370. data/config/initializers/check_for_orphaned_preferences.rb +0 -9
  371. data/config/initializers/deprecation_checker.rb +0 -7
  372. data/config/initializers/rails_5868.rb +0 -8
  373. data/lib/spree/frontend/preference_rescue.rb +0 -25
  374. data/vendor/assets/images/datepicker/cal.gif +0 -0
  375. data/vendor/assets/images/jquery.formalize/button.png +0 -0
  376. data/vendor/assets/images/jquery.formalize/select_arrow.gif +0 -0
  377. data/vendor/assets/javascripts/jquery.formalize.min.js +0 -1
  378. data/vendor/assets/stylesheets/jquery.formalize.css.erb +0 -363
@@ -1,1321 +0,0 @@
1
- //= depend_on_asset "fontawesome-webfont.eot"
2
- //= depend_on_asset "fontawesome-webfont.woff"
3
- //= depend_on_asset "fontawesome-webfont.ttf"
4
- //= depend_on_asset "fontawesome-webfont.svg"
5
- //= depend_on_asset "spree/frontend/cart.png"
6
-
7
- @import 'spree/frontend/variables';
8
- @import 'font-awesome';
9
-
10
- /*--------------------------------------*/
11
- /* Basic styles
12
- /*--------------------------------------*/
13
- body {
14
- font-family: $ff_base;
15
- font-size: $base_font_size;
16
- font-weight: 400;
17
- color: $body_text_color;
18
- line-height: 18px;
19
- background-color: $layout_background_color;
20
- -webkit-font-smoothing: antialiased;
21
- }
22
-
23
- /* Line style */
24
- hr {
25
- height: 0;
26
- background-color: transparent;
27
- color: transparent;
28
- border: none;
29
- border-bottom: $default_border;
30
- }
31
-
32
- /* Custom text-selection colors (remove any text shadows: twitter.com/miketaylr/status/12228805301) */
33
- ::-moz-selection{background: $link_text_color; color: $layout_background_color; text-shadow: none;}
34
- ::selection {background: $link_text_color; color: $layout_background_color; text-shadow: none;}
35
-
36
- /* j.mp/webkit-tap-highlight-color */
37
- a:link {-webkit-tap-highlight-color: $link_text_color;}
38
-
39
- ins {background-color: $link_text_color; color: $layout_background_color; text-decoration: none;}
40
- mark {background-color: $link_text_color; color: $layout_background_color; font-style: italic; font-weight: bold;}
41
-
42
- /*--------------------------------------*/
43
- /* Links
44
- /*--------------------------------------*/
45
- a {
46
- text-decoration: none;
47
- color: $link_text_color;
48
-
49
- &:hover {
50
- color: darken($link_text_color, 10);
51
- }
52
-
53
- &:active, &:focus {
54
- outline: none;
55
- }
56
- }
57
-
58
- /*--------------------------------------*/
59
- /* Lists
60
- /*--------------------------------------*/
61
- ul, ol {
62
- margin-left: 0;
63
- margin-top: 0;
64
- -webkit-padding-start: 0px;
65
- padding-left: 0;
66
- list-style-position: inside;
67
-
68
- &.inline {
69
- li {
70
- display: inline-block;
71
- }
72
- }
73
- }
74
-
75
- dl {
76
- dt, dd {
77
- display: inline-block;
78
- width: 50%;
79
- padding: 5px;
80
-
81
- &.odd {
82
- background-color: $table_head_color;
83
- }
84
- }
85
- dt {
86
- font-weight: bold;
87
- text-transform: uppercase;
88
- }
89
- dd {
90
- margin-left: -23px;
91
- }
92
- }
93
-
94
- /*--------------------------------------*/
95
- /* Headers
96
- /*--------------------------------------*/
97
- h1 { font-size: $heading_font_size; line-height: $heading_font_size + 10; }
98
- h2 { font-size: $heading_font_size - 2; line-height: $heading_font_size - 2 + 10; }
99
- h3 { font-size: $heading_font_size - 4; line-height: $heading_font_size - 4 + 10; }
100
- h4 { font-size: $heading_font_size - 6; line-height: $heading_font_size - 6 + 10; }
101
- h5 { font-size: $sub_heading_font_size; line-height: $sub_heading_font_size + 10; }
102
- h6 { font-size: $sub_heading_font_size - 2; line-height: $sub_heading_font_size - 2 + 10; }
103
-
104
- h1, h2, h3, h4, h5, h6 {
105
- font-weight: 700;
106
- color: $title_text_color;
107
- -webkit-margin-before: 0;
108
- -webkit-margin-after: 0;
109
- margin-top: 0;
110
- margin-bottom: 0;
111
- }
112
-
113
- /*--------------------------------------*/
114
- /* Forms
115
- /*--------------------------------------*/
116
- textarea, input[type="date"],
117
- input[type="datetime"], input[type="datetime-local"],
118
- input[type="email"], input[type="month"], input[type="number"],
119
- input[type="password"], input[type="search"], input[type="tel"],
120
- input[type="text"], input[type="time"], input[type="url"],
121
- input[type="week"] {
122
- border: $default_border;
123
- padding: 5px;
124
- font-family: $ff_base;
125
- font-size: $input_box_font_size;
126
-
127
- -webkit-box-sizing: border-box;
128
- -moz-box-sizing: border-box;
129
- box-sizing: border-box;
130
-
131
- &:active, &:focus {
132
- border-color: $link_text_color;
133
- outline: none;
134
- -webkit-box-shadow: none;
135
- -moz-box-shadow: none;
136
- -o-box-shadow: none;
137
- box-shadow: none;
138
- }
139
-
140
- &.error {
141
- border-color: $c_red;
142
- }
143
- }
144
-
145
- label.error {
146
- display: block;
147
- font-size: $base_font_size - 1;
148
- color: $c_red;
149
- margin-top: 3px;
150
- }
151
-
152
- span.required {
153
- color: $c_red;
154
- font-weight: bold;
155
- font-size: 1.2em;
156
- }
157
-
158
- fieldset {
159
- margin: 0;
160
- min-width: 100%;
161
-
162
- -webkit-box-sizing: border-box;
163
- -moz-box-sizing: border-box;
164
- box-sizing: border-box;
165
- }
166
-
167
- input[type="submit"], input[type="button"],
168
- input[type= "reset"], button, a.button {
169
- background-color: $link_text_color;
170
- background-image: none;
171
- text-shadow: none;
172
- color: $layout_background_color;
173
- font-weight: bold;
174
- font-size: $button_font_size;
175
- font-family: $ff_base;
176
- border: 1px solid $button_border_color;
177
- padding: 6px 10px 5px;
178
- vertical-align: top;
179
-
180
- -webkit-font-smoothing: antialiased;
181
-
182
- -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
183
- -khtml-box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
184
- -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
185
- -o-box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
186
- box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
187
- -webkit-border-radius: 0px;
188
- -khtml-border-radius: 0px;
189
- -moz-border-radius: 0px;
190
- -ms-border-radius: 0px;
191
- -o-border-radius: 0px;
192
- border-radius: 0px;
193
-
194
- &.large {
195
- padding: 7px 10px;
196
- font-size: $button_font_size + 2;
197
- }
198
-
199
- &.gray {
200
- background-color: lighten($body_text_color, 20);
201
- border-color: lighten($body_text_color, 10);
202
- }
203
-
204
- &:hover {
205
- background-image: none;
206
- background-color: $body_text_color;
207
- border-color: $body_text_color;
208
- color: $layout_background_color;
209
- }
210
- }
211
-
212
- .ie8 {
213
- a.button {
214
- line-height: 16px;
215
- }
216
- }
217
-
218
- input[type="checkbox"], label {
219
- vertical-align: middle;
220
- }
221
-
222
- a.button {
223
- display: inline-block;
224
- line-height: 15px;
225
- margin-top: -2px;
226
- vertical-align: bottom;
227
- }
228
-
229
- /*--------------------------------------*/
230
- /* Footer
231
- /*--------------------------------------*/
232
- footer#footer {
233
- padding: 10px 0;
234
- border-top: $default_border;
235
- }
236
-
237
- /*--------------------------------------*/
238
- /* Paragraphs
239
- /*--------------------------------------*/
240
- p {
241
- padding: 10px 0;
242
- }
243
-
244
- /*--------------------------------------*/
245
- /* Tables
246
- /*--------------------------------------*/
247
- table {
248
- thead {
249
- background-color: $table_head_color;
250
- text-transform: uppercase;
251
-
252
- tr {
253
- th {
254
- padding: 5px 10px;
255
- }
256
- }
257
- }
258
-
259
- tbody, tfoot {
260
- tr {
261
- border-bottom: $default_border;
262
-
263
- td {
264
- vertical-align: middle;
265
- padding: 5px 10px;
266
- }
267
-
268
- &.alt, &.odd {
269
- background-color: lighten($link_text_color, 50);
270
- }
271
- }
272
- }
273
- }
274
-
275
- /*--------------------------------------*/
276
- /* Navigation
277
- /*--------------------------------------*/
278
- nav#top-nav-bar {
279
- text-align: right;
280
- margin-top: 20px;
281
-
282
- ul {
283
- li {
284
- margin-bottom: 5px;
285
- padding-left: 10px;
286
-
287
- a{
288
- font-weight: bold;
289
- font-size: $header_navigation_font_size;
290
- text-transform: uppercase;
291
- }
292
- }
293
- }
294
- }
295
-
296
- nav #main-nav-bar {
297
- text-transform: uppercase;
298
- font-weight: bold;
299
- margin-top: 20px;
300
- border-bottom: $default_border;
301
- padding-bottom: 6px;
302
-
303
- li {
304
-
305
- a {
306
- font-size: $horizontal_navigation_font_size;
307
- padding: 5px;
308
- }
309
-
310
- &:first-child {
311
- a {
312
- padding-left: 0
313
- }
314
- }
315
-
316
- &#link-to-cart {
317
- float: right;
318
- padding-left: 24px;
319
- background: image-url("spree/frontend/cart.png") no-repeat left center;
320
-
321
- &:hover {
322
- border-color: $link_text_color;
323
-
324
- .amount {
325
- border-color: $link_text_color;
326
- }
327
- }
328
-
329
- a {
330
- font-weight: normal;
331
- font-size: $horizontal_navigation_font_size;
332
- color: $link_text_color;
333
-
334
- .amount {
335
- font-size: $horizontal_navigation_font_size + 2;
336
- font-weight: bold;
337
- border-left: $default_border;
338
- padding-left: 5px;
339
- padding-bottom: 5px;
340
- }
341
- }
342
- }
343
- }
344
- }
345
-
346
- figure#logo {
347
- img {
348
- padding-top:25px;
349
- }
350
- }
351
-
352
- nav#taxonomies {
353
- .taxonomy-root {
354
- text-transform: uppercase;
355
- border-bottom: $default_border;
356
- margin-bottom: 5px;
357
- font-size: $main_navigation_header_font_size;
358
- }
359
-
360
- .taxons-list {
361
- li {
362
- a {
363
- font-size: $main_navigation_font_size
364
- }
365
- }
366
- }
367
- }
368
-
369
- #breadcrumbs {
370
- border-bottom: $default_border;
371
- padding: 3px 0;
372
- margin-bottom: 15px;
373
-
374
- li {
375
- a {
376
- color: $link_text_color;
377
- }
378
- span {
379
- text-transform: uppercase;
380
- font-weight: bold;
381
- }
382
- }
383
- }
384
-
385
- /*--------------------------------------*/
386
- /* Flash notices & errors
387
- /*--------------------------------------*/
388
- .flash {
389
- padding: 10px;
390
- color: $layout_background_color;
391
- font-weight: bold;
392
- margin-bottom: 10px;
393
-
394
- &.notice {
395
- background-color: $link_text_color;
396
- }
397
- &.success {
398
- background-color: $c_green;
399
- }
400
- &.error {
401
- background-color: $c_red;
402
- }
403
- }
404
-
405
- .errorExplanation {
406
- @extend .flash.error;
407
- @extend .flash;
408
-
409
- p {
410
- font-weight: normal;
411
- }
412
-
413
- ul {
414
- list-style: disc outside;
415
- margin-left: 30px;
416
-
417
- li {
418
- font-weight: normal;
419
- }
420
- }
421
- }
422
-
423
- /*--------------------------------------*/
424
- /* Main search bar
425
- /*--------------------------------------*/
426
- #search-bar {
427
- display: block;
428
- }
429
-
430
- /*--------------------------------------*/
431
- /* Products
432
- /*--------------------------------------*/
433
- [data-hook="product_show"] {
434
- h6 {
435
- font-size: $product_detail_title_font_size;
436
- }
437
- }
438
-
439
- .product-section-title {
440
- text-transform: uppercase;
441
- margin-top: 15px;
442
- }
443
-
444
- .add-to-cart {
445
- margin-top: 15px;
446
-
447
- input[type="number"] {
448
- margin-right: 3px;
449
- width: 60px;
450
- vertical-align: middle;
451
- padding: 8px 10px;
452
- }
453
- }
454
-
455
- span.price {
456
- font-weight: bold;
457
- color: $link_text_color;
458
-
459
- &.selling {
460
- font-size: $product_detail_price_font_size;
461
- }
462
- &.diff {
463
- font-weight: bold;
464
- }
465
- }
466
-
467
- .taxon-title {
468
- font-size: $product_list_header_font_size;
469
- }
470
-
471
- .search-results-title {
472
- font-size: $product_list_search_font_size;
473
- }
474
-
475
- ul#products {
476
- &:after {
477
- content: " ";
478
- display: block;
479
- clear: both;
480
- visibility: hidden;
481
- line-height: 0;
482
- height: 0;
483
- }
484
-
485
- li {
486
- text-align: center;
487
- font-weight: bold;
488
- margin-bottom: 20px;
489
-
490
- a {
491
- display: block;
492
-
493
- &.info {
494
- height: 35px;
495
- margin-top: 5px;
496
- font-size: $product_list_name_font_size;
497
- color: $product_link_text_color;
498
- border-bottom: $default_border;
499
- overflow: hidden;
500
- }
501
- }
502
-
503
- .product-image {
504
- border: $default_border;
505
- padding: 5px;
506
- min-height: 110px;
507
- background-color: $product_background_color;
508
-
509
- &:hover {
510
- border-color: $link_text_color;
511
- }
512
-
513
- img {
514
- max-width: 100%; /* Fluid images for product */
515
- }
516
-
517
- }
518
-
519
- .price {
520
- color: $link_text_color;
521
- font-size: $product_list_price_font_size;
522
- padding-top: 5px;
523
- display: block;
524
- }
525
- }
526
- }
527
-
528
- .subtaxon-title {
529
- text-transform: uppercase;
530
-
531
- a {
532
- color: $link_text_color;
533
- }
534
- }
535
-
536
- .search-results-title {
537
- text-transform: uppercase;
538
- border-bottom: $default_border;
539
- margin-bottom: 10px;
540
- }
541
-
542
- #sidebar_products_search {
543
- .navigation {
544
- margin-bottom: 15px;
545
- }
546
-
547
- .filter-title {
548
- display: block;
549
- font-weight: bold;
550
- text-transform: uppercase;
551
- border-bottom: 1px solid #ededed;
552
- margin-bottom: 5px;
553
- color: $link_text_color;
554
- font-size: $base_font_size + 2;
555
- line-height: 24px;
556
- }
557
- }
558
-
559
- .taxon {
560
- overflow: hidden;
561
- }
562
-
563
- #product-images {
564
- #main-image {
565
- text-align: center;
566
- border: $default_border;
567
- background-color: $product_background_color;
568
-
569
- img {
570
- min-height: 240px;
571
- max-width: 100%; /* Fluid images for product */
572
- }
573
- }
574
- #product-thumbnails {
575
- li {
576
- background-color: $product_background_color;
577
- }
578
- }
579
- }
580
-
581
- #product-description {
582
- .product-title {
583
- border-bottom: $default_border;
584
- margin-bottom: 15px;
585
- color: $product_title_text_color;
586
- font-size: $product_detail_name_font_size;
587
- }
588
-
589
- [data-hook="product-description"] {
590
- font-size: $product_detail_description_font_size;
591
- color: $product_body_text_color;
592
- }
593
- }
594
-
595
- #product-thumbnails {
596
- margin-top: 10px;
597
-
598
- li {
599
- margin-right: 6px;
600
- border: $default_border;
601
-
602
- img {
603
- padding: 5px;
604
- }
605
-
606
- &:hover, &.selected {
607
- border-color: $link_text_color;
608
- }
609
- }
610
- }
611
-
612
- #product-properties {
613
- border: $default_border;
614
- padding: 10px;
615
- width: 100%;
616
- }
617
-
618
- #product-variants {
619
- ul {
620
- li {
621
- padding: 5px;
622
- }
623
- }
624
- }
625
-
626
- #cart-form {
627
- #inside-product-cart-form:after {
628
- content: " ";
629
- display: block;
630
- clear: both;
631
- visibility: hidden;
632
- line-height: 0;
633
- height: 0;
634
- }
635
- }
636
-
637
- /*--------------------------------------*/
638
- /* Checkout
639
- /*--------------------------------------*/
640
- .out-of-stock {
641
- background: #df0000;
642
- color: white;
643
- padding: 5px;
644
- padding-right: 10px;
645
- font-weight: bold;
646
- }
647
-
648
- .progress-steps {
649
- list-style: decimal inside;
650
- overflow: auto;
651
-
652
- li {
653
- float: left;
654
- margin-right: 20px;
655
- font-weight: bold;
656
- text-transform: uppercase;
657
- padding: 5px 20px;
658
- color: lighten($body_text_color, 20);
659
-
660
- &.current-first, &.current {
661
- background-color: $link_text_color;
662
- color: $layout_background_color;
663
- }
664
-
665
- &.completed-first, &.completed {
666
- background-color: $table_head_color;
667
- color: $layout_background_color;
668
-
669
- a {
670
- color: $layout_background_color;
671
- }
672
-
673
- &:hover {
674
- background-color: $link_text_color;
675
- color: $layout_background_color;
676
-
677
- a {
678
- color: $layout_background_color;
679
-
680
- &:hover {
681
- color: $layout_background_color;
682
- }
683
- }
684
- }
685
- }
686
- }
687
- }
688
-
689
- #payment-methods {
690
- list-style: none;
691
-
692
- li {
693
- fieldset {
694
- border: none;
695
- padding: 0;
696
- }
697
- }
698
- }
699
-
700
-
701
-
702
- #checkout-summary {
703
- text-align: center;
704
- border: $default_border;
705
- margin-top: 23px;
706
- margin-left: 0;
707
-
708
- h3 {
709
- text-transform: uppercase;
710
- font-size: $base_font_size + 2;
711
- border-bottom: $default_border;
712
- }
713
-
714
- table {
715
- width: 100%;
716
-
717
- tr[data-hook="item_total"] {
718
- td:last-child {
719
- strong {
720
- @extend span.price;
721
- }
722
- }
723
- }
724
-
725
- tr[data-hook="order_total"] {
726
- border-bottom: none;
727
- };
728
-
729
- #summary-order-total {
730
- @extend span.price;
731
- font-size: $base_font_size + 2;
732
- }
733
- }
734
- }
735
-
736
- #billing, #shipping, #shipping_method,
737
- #payment, #order_details, #order_summary {
738
- margin-top: 10px;
739
- border: $default_border;
740
- padding: 10px;
741
-
742
- legend {
743
- text-transform: uppercase;
744
- font-weight: bold;
745
- font-size: $base_font_size + 2;
746
- color: $link_text_color;
747
- padding: 5px;
748
- margin-left: 15px;
749
- }
750
- }
751
-
752
- #billing {
753
- input[type="text"], input[type="email"],
754
- input[type="tel"], input[type="number"],
755
- select, textarea {
756
- width: 100%;
757
- }
758
- }
759
-
760
- #order_details, #order_summary {
761
- padding: 0;
762
-
763
- div:last-child {
764
- margin-left: -1px;
765
- }
766
-
767
- .payment-info {
768
- .cc-type {
769
- img {
770
- vertical-align: middle;
771
- }
772
- }
773
- }
774
-
775
- td.price, td.total {
776
- span {
777
- @extend span.price;
778
- }
779
- }
780
-
781
- table tfoot {
782
- text-align: right;
783
- color: lighten($body_text_color, 20);
784
-
785
- tr {
786
- border: none;
787
- }
788
-
789
- &#order-total {
790
- text-transform: uppercase;
791
- font-size: $base_font_size + 4;
792
- color: $body_text_color;
793
-
794
- tr {
795
- border-top: $default_border;
796
-
797
- td {
798
- padding: 10px;
799
- }
800
- }
801
- }
802
-
803
- &#subtotal {
804
- text-transform: uppercase;
805
- font-size: $base_font_size + 4;
806
- color: $body_text_color;
807
- }
808
- }
809
-
810
- .steps-data {
811
- div.columns {
812
- padding: 5px;
813
- margin: 0;
814
-
815
- &:first-child {
816
- margin-left: 10px;
817
- }
818
- }
819
-
820
- h6 {
821
- border-bottom: $default_border;
822
- margin-bottom: 5px;
823
- }
824
- }
825
- }
826
-
827
- #shipping_method {
828
- p {
829
- &#minstrs {
830
- clear: both;
831
-
832
- label {
833
- width: 100%;
834
- }
835
- }
836
-
837
- label {
838
- float: left;
839
- font-weight: bold;
840
- font-size: $base_font_size + 2;
841
- margin-right: 40px;
842
- padding: 5px;
843
- }
844
- }
845
-
846
- .shipment {
847
- margin-bottom: 30px;
848
- }
849
-
850
- .stock-shipping-method-title {
851
- background-color: lighten($body_text_color, 70);
852
- text-align: center;
853
- text-transform: uppercase;
854
- font-weight: normal;
855
- font-size :11px;
856
- }
857
-
858
- .stock-location {
859
- text-align: center;
860
- text-transform: uppercase;
861
- font-size: 12px;
862
- font-weight: normal;
863
- background-color: $link_text_color;
864
- color: white;
865
- }
866
-
867
- .unshippable {
868
- .stock-location {
869
- background-color: $c_red;
870
- }
871
- }
872
-
873
- .shipping-methods {
874
- list-style: none;
875
- margin: 0;
876
- padding: none;
877
-
878
- .shipping-method {
879
- display: inline-block;
880
- margin: 5px 10px 5px 0;
881
-
882
- label {
883
- font-weight: bold;
884
-
885
- .rate-cost {
886
- color: $link_text_color;
887
- }
888
- }
889
- }
890
- }
891
-
892
- table.stock-contents {
893
- thead {
894
- background-color: lighten($body_text_color, 70);
895
-
896
- th {
897
- font-size: 11px;
898
- font-weight: normal
899
- }
900
- }
901
- tbody {
902
- tr {
903
- td {
904
- text-align: center;
905
-
906
- &.item-name {
907
- text-align: left;
908
- }
909
- }
910
- }
911
- }
912
- }
913
- }
914
-
915
- p[data-hook="use_billing"] {
916
- float: right;
917
- margin-top: -18px;
918
- background-color: $layout_background_color;
919
- padding: 5px;
920
- }
921
-
922
- #coupon_status {
923
- font-weight: bold;
924
- font-size: 125%;
925
- &.success {
926
- color: $c_green;
927
- }
928
- &.error {
929
- color: $c_red;
930
- }
931
- }
932
-
933
- /*--------------------------------------*/
934
- /* Cart
935
- /*--------------------------------------*/
936
- table#cart-detail {
937
- width: 100%;
938
- border-collapse: separate;
939
-
940
- tbody#line_items {
941
- tr {
942
-
943
- td[data-hook="cart_item_price"], td[data-hook="cart_item_total"] {
944
- @extend span.price;
945
- @extend span.price.selling;
946
- }
947
- td[data-hook="cart_item_quantity"] {
948
- .line_item_quantity {
949
- width: 65px;
950
- }
951
- }
952
- td[data-hook="cart_item_delete"] {
953
- .delete {
954
- display: block;
955
- width: 20px;
956
- }
957
- }
958
- }
959
- }
960
- }
961
-
962
- div[data-hook="inside_cart_form"] {
963
- .links {
964
- margin-top: 15px;
965
- text-align: right;
966
- }
967
-
968
- #subtotal {
969
- text-align: right;
970
- text-transform: uppercase;
971
- margin-top: 15px;
972
-
973
- span.order-total {
974
- @extend span.price;
975
- }
976
- }
977
- }
978
-
979
- #empty-cart {
980
- margin-top: -50px;
981
- float: left;
982
- }
983
-
984
- .cart-subtotal, .cart-total {
985
- background: #00ADEE;
986
-
987
- td h5 {
988
- color: #fff;
989
- }
990
- }
991
-
992
- .adjustment:nth-child(even) {
993
- background: #eaeaea;
994
-
995
- }
996
-
997
- /*--------------------------------------*/
998
- /* Account
999
- /*--------------------------------------*/
1000
- #existing-customer, #new-customer, #forgot-password {
1001
- h6 {
1002
- text-transform: uppercase;
1003
- }
1004
- }
1005
-
1006
- #registration {
1007
- h6 {
1008
- text-transform: uppercase;
1009
- }
1010
-
1011
- #existing-customer {
1012
- width: auto;
1013
- text-align: left;
1014
- }
1015
- }
1016
-
1017
- #user-info {
1018
- margin-bottom: 15px;
1019
- border: $default_border;
1020
- padding: 10px;
1021
-
1022
- dd {
1023
- margin-left: 0px;
1024
- }
1025
- }
1026
-
1027
- /*--------------------------------------*/
1028
- /* Order
1029
- /*--------------------------------------*/
1030
- #order_summary {
1031
- margin-top: 0;
1032
- }
1033
- #order {
1034
- p[data-hook="links"] {
1035
- margin-left: 10px;
1036
- overflow: auto;
1037
- }
1038
- }
1039
-
1040
- table.order-summary {
1041
- tbody {
1042
- tr {
1043
- td {
1044
- width: 10%;
1045
- text-align: center;
1046
-
1047
- &:first-child {
1048
- a {
1049
- text-transform: uppercase;
1050
- font-weight: bold;
1051
- color: $link_text_color;
1052
- }
1053
- }
1054
- }
1055
- }
1056
- }
1057
- }
1058
-
1059
- /* #Media Queries
1060
- ================================================== */
1061
-
1062
- /* Smaller than standard 960 (devices and browsers) */
1063
- @media only screen and (max-width: 959px) {
1064
-
1065
- }
1066
-
1067
- /* Tablet Portrait size to standard 960 (devices and browsers) */
1068
- @media only screen and (min-width: 768px) and (max-width: 959px) {
1069
- .container {
1070
- padding-left: 10px;
1071
- width: 758px;
1072
- }
1073
- footer#footer {
1074
- width: 748px;
1075
- }
1076
- p[data-hook="use_billing"] {
1077
- margin-top: -15px;
1078
- }
1079
- }
1080
-
1081
- /* All Mobile Sizes (devices and browser) */
1082
- @media only screen and (max-width: 767px) {
1083
-
1084
- html {
1085
- -webkit-text-size-adjust: none;
1086
- }
1087
-
1088
- #order_details .steps-data div.columns,
1089
- #order_summary .steps-data div.columns {
1090
- padding: 0;
1091
- margin: 0;
1092
-
1093
- &:first-child {
1094
- margin: 0
1095
- }
1096
- }
1097
-
1098
- nav#taxonomies {
1099
- text-align: center;
1100
-
1101
- ul {
1102
- padding-left: 0;
1103
- list-style: none;
1104
- }
1105
- }
1106
-
1107
- ul#nav-bar {
1108
- text-align: center;
1109
- }
1110
-
1111
- .steps-data div.columns {
1112
- margin-bottom: 15px;
1113
- text-align: center;
1114
- }
1115
-
1116
- #order_details, #order {
1117
- table[data-hook="order_details"] {
1118
- width: 100%;
1119
- }
1120
- }
1121
-
1122
- #update-cart {
1123
- #subtotal, .links {
1124
- width: 50%;
1125
- float: left;
1126
- text-align: left;
1127
- }
1128
- #subtotal {
1129
- text-align: right;
1130
- }
1131
- }
1132
- }
1133
-
1134
- /* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
1135
- @media only screen and (min-width: 480px) and (max-width: 767px) {
1136
-
1137
- footer#footer {
1138
- width: auto;
1139
- }
1140
-
1141
- input, select {
1142
- vertical-align: baseline;
1143
- }
1144
-
1145
- figure#logo {
1146
- text-align: center;
1147
- }
1148
-
1149
- #link-to-login {
1150
- display: block;
1151
- text-align: center;
1152
- }
1153
-
1154
- #search-bar {
1155
- display: block;
1156
- text-align: center;
1157
-
1158
- select {
1159
- margin-bottom: 10px;
1160
- }
1161
- }
1162
-
1163
- ul#products {
1164
- margin-left: 0;
1165
- margin-right: -20px;
1166
-
1167
- li {
1168
- width: 133px;
1169
- margin-right: 10px;
1170
- }
1171
- }
1172
-
1173
- table#cart-detail, table[data-hook="order_details"] {
1174
- tbody {
1175
- tr {
1176
- td[data-hook="cart_item_description"], td[data-hook="order_item_description"] {
1177
- font-size: $base_font_size - 1;
1178
- line-height: 15px;
1179
- width: 100px;
1180
-
1181
- h4 {
1182
- font-size: $base_font_size + 2;
1183
- line-height: 17px;
1184
- margin-bottom: 10px;
1185
- }
1186
- }
1187
- td[data-hook="cart_item_price"], td[data-hook="cart_item_total"],
1188
- td[data-hook="order_item_price"], td[data-hook="order_item_total"] {
1189
- font-size: $base_font_size;
1190
- }
1191
- td[data-hook="cart_item_image"], td[data-hook="order_item_image"] {
1192
- img {
1193
- width: 70px;
1194
- }
1195
- }
1196
- }
1197
- }
1198
- }
1199
-
1200
- }
1201
-
1202
- @media only screen and (max-width: 767px) {
1203
- #empty-cart {
1204
- clear: both;
1205
- margin-top: 0;
1206
- float: none;
1207
- }
1208
- }
1209
-
1210
- @media only screen and (max-width: 767px) {
1211
- #empty-cart {
1212
- /* yes, this is ugly... */
1213
- margin-top: 0 !important;
1214
- }
1215
- }
1216
-
1217
- /* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
1218
- @media only screen and (max-width: 479px) {
1219
-
1220
- .progress-steps li {
1221
- padding: 0;
1222
- margin: 0;
1223
- width: 50%;
1224
-
1225
- span {
1226
- display: block;
1227
- padding: 10px 20px;
1228
- }
1229
- }
1230
-
1231
- #shipping_method p label {
1232
- float: none;
1233
- display: block;
1234
- text-align: center;
1235
- margin-right: 0;
1236
- }
1237
-
1238
- p[data-hook="use_billing"] {
1239
- float: none;
1240
- margin-top: 0;
1241
- }
1242
-
1243
- table#cart-detail, table[data-hook="order_details"] {
1244
- tbody {
1245
- tr {
1246
- td[data-hook="cart_item_description"], td[data-hook="order_item_description"] {
1247
- padding: 0 !important;
1248
- text-indent: -9999px;
1249
-
1250
- h4 {
1251
- display: none;
1252
- }
1253
- }
1254
- td[data-hook="cart_item_image"], td[data-hook="order_item_image"] {
1255
- img {
1256
- width: 70px;
1257
- }
1258
- }
1259
- td[data-hook="cart_item_price"], td[data-hook="cart_item_total"] {
1260
- font-size: $base_font_size + 2 !important;
1261
- }
1262
- }
1263
- }
1264
- }
1265
-
1266
- table.order-summary {
1267
- display: block; position: relative; width: 100%;
1268
-
1269
- thead { display: block; float: left; }
1270
- tbody { display: block; width: auto; position: relative; overflow-x: auto; white-space: nowrap; }
1271
- thead tr { display: block; }
1272
- th { display: block; }
1273
- tbody tr { display: inline-block; vertical-align: top; }
1274
- td { display: block; min-height: 1.25em; }
1275
- }
1276
-
1277
- figure#logo {
1278
- text-align: center;
1279
- }
1280
-
1281
- #link-to-login {
1282
- display: block;
1283
- text-align: center;
1284
- }
1285
-
1286
- #search-bar {
1287
- display: block;
1288
- text-align: center;
1289
-
1290
- select {
1291
- margin-bottom: 10px;
1292
- }
1293
- }
1294
-
1295
- aside#sidebar {
1296
- text-align: center;
1297
-
1298
- ul {
1299
- padding-left: 0;
1300
-
1301
- li {
1302
- list-style-type: none;
1303
- }
1304
- }
1305
- }
1306
-
1307
- ul#products {
1308
- li {
1309
- width: 142px;
1310
- margin-right: 15px;
1311
-
1312
- &.secondary, &.omega {
1313
- margin-right: 0;
1314
- }
1315
- }
1316
- }
1317
-
1318
- #content {
1319
- text-align: center;
1320
- }
1321
- }