reustyle 2.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (358) hide show
  1. checksums.yaml +7 -0
  2. data/.drone.yml +17 -0
  3. data/.gitignore +25 -0
  4. data/.nvmrc +1 -0
  5. data/.rbenv-gemsets +1 -0
  6. data/.ruby-version +1 -0
  7. data/CONTRIBUTING.md +68 -0
  8. data/Gemfile +4 -0
  9. data/Gruntfile.js +234 -0
  10. data/LICENSE.txt +13 -0
  11. data/README.md +196 -0
  12. data/Rakefile +6 -0
  13. data/bower.json +54 -0
  14. data/config/autoprefixer.yml +6 -0
  15. data/config/scss-lint.yml +55 -0
  16. data/dist/icons.svg +1 -0
  17. data/dist/ustyle-content.css +1 -0
  18. data/dist/ustyle-latest.css +1 -0
  19. data/dist/ustyle.js +567 -0
  20. data/dist/ustyle.json +1 -0
  21. data/dist/ustyle.min.js +1 -0
  22. data/grunt/modules/dss-helper.js +115 -0
  23. data/grunt/modules/file.js +24 -0
  24. data/grunt/modules/html-parser.js +22 -0
  25. data/grunt/modules/templates.js +57 -0
  26. data/grunt/tasks/browser-sync.js +23 -0
  27. data/grunt/tasks/builder.js +67 -0
  28. data/grunt/tasks/styleguide.js +299 -0
  29. data/index.js +37 -0
  30. data/lib/ustyle/deploy.rb +41 -0
  31. data/lib/ustyle/engine.rb +32 -0
  32. data/lib/ustyle/hash.rb +44 -0
  33. data/lib/ustyle/helpers/icon_helper.rb +15 -0
  34. data/lib/ustyle/icons.rb +13 -0
  35. data/lib/ustyle/middleware/icon_middleware.rb +27 -0
  36. data/lib/ustyle/sass_functions.rb +65 -0
  37. data/lib/ustyle/sinatra.rb +34 -0
  38. data/lib/ustyle/sprockets.rb +6 -0
  39. data/lib/ustyle/utils.rb +42 -0
  40. data/lib/ustyle/version.rb +4 -0
  41. data/lib/ustyle.rb +58 -0
  42. data/package-lock.json +9303 -0
  43. data/package.json +89 -0
  44. data/styleguide/CNAME +1 -0
  45. data/styleguide/assets/images/CTAs.png +0 -0
  46. data/styleguide/assets/images/badge-label-usp.png +0 -0
  47. data/styleguide/assets/images/bower-logo.png +0 -0
  48. data/styleguide/assets/images/caveat.png +0 -0
  49. data/styleguide/assets/images/cloudfront-logo.png +0 -0
  50. data/styleguide/assets/images/design-conventions.png +0 -0
  51. data/styleguide/assets/images/error-texts.png +0 -0
  52. data/styleguide/assets/images/external-requirements.png +0 -0
  53. data/styleguide/assets/images/favicon/android-chrome-192x192.png +0 -0
  54. data/styleguide/assets/images/favicon/android-chrome-512x512.png +0 -0
  55. data/styleguide/assets/images/favicon/apple-touch-icon-114x114.png +0 -0
  56. data/styleguide/assets/images/favicon/apple-touch-icon-120x120.png +0 -0
  57. data/styleguide/assets/images/favicon/apple-touch-icon-144x144.png +0 -0
  58. data/styleguide/assets/images/favicon/apple-touch-icon-152x152.png +0 -0
  59. data/styleguide/assets/images/favicon/apple-touch-icon-180x180.png +0 -0
  60. data/styleguide/assets/images/favicon/apple-touch-icon-57x57.png +0 -0
  61. data/styleguide/assets/images/favicon/apple-touch-icon-60x60.png +0 -0
  62. data/styleguide/assets/images/favicon/apple-touch-icon-72x72.png +0 -0
  63. data/styleguide/assets/images/favicon/apple-touch-icon-76x76.png +0 -0
  64. data/styleguide/assets/images/favicon/apple-touch-icon.png +0 -0
  65. data/styleguide/assets/images/favicon/browserconfig.xml +9 -0
  66. data/styleguide/assets/images/favicon/favicon-16x16.png +0 -0
  67. data/styleguide/assets/images/favicon/favicon-32x32.png +0 -0
  68. data/styleguide/assets/images/favicon/favicon.ico +0 -0
  69. data/styleguide/assets/images/favicon/manifest.json +18 -0
  70. data/styleguide/assets/images/favicon/mstile-144x144.png +0 -0
  71. data/styleguide/assets/images/favicon/mstile-150x150.png +0 -0
  72. data/styleguide/assets/images/favicon/mstile-310x150.png +0 -0
  73. data/styleguide/assets/images/favicon/mstile-310x310.png +0 -0
  74. data/styleguide/assets/images/favicon/mstile-70x70.png +0 -0
  75. data/styleguide/assets/images/favicon/safari-pinned-tab.svg +46 -0
  76. data/styleguide/assets/images/icons.svg +1 -0
  77. data/styleguide/assets/images/infographic-01.png +0 -0
  78. data/styleguide/assets/images/infographic-02.png +0 -0
  79. data/styleguide/assets/images/npm-logo.png +0 -0
  80. data/styleguide/assets/images/placeholder-text.png +0 -0
  81. data/styleguide/assets/images/ruby-logo.png +0 -0
  82. data/styleguide/assets/images/site-consistency01.png +0 -0
  83. data/styleguide/assets/images/site-consistency02.png +0 -0
  84. data/styleguide/assets/images/site-consistency03.png +0 -0
  85. data/styleguide/assets/images/styleguide-examples/accurate-housing.jpg +0 -0
  86. data/styleguide/assets/images/styleguide-examples/altered.jpg +0 -0
  87. data/styleguide/assets/images/styleguide-examples/bad-subject.jpg +0 -0
  88. data/styleguide/assets/images/styleguide-examples/centered.jpg +0 -0
  89. data/styleguide/assets/images/styleguide-examples/cliche.jpg +0 -0
  90. data/styleguide/assets/images/styleguide-examples/cold.jpg +0 -0
  91. data/styleguide/assets/images/styleguide-examples/good-subject.jpg +0 -0
  92. data/styleguide/assets/images/styleguide-examples/illustrations_1.png +0 -0
  93. data/styleguide/assets/images/styleguide-examples/illustrations_2.png +0 -0
  94. data/styleguide/assets/images/styleguide-examples/illustrations_3.png +0 -0
  95. data/styleguide/assets/images/styleguide-examples/illustrations_4.png +0 -0
  96. data/styleguide/assets/images/styleguide-examples/illustrations_5.png +0 -0
  97. data/styleguide/assets/images/styleguide-examples/illustrations_6.png +0 -0
  98. data/styleguide/assets/images/styleguide-examples/innaccurate-housing.jpg +0 -0
  99. data/styleguide/assets/images/styleguide-examples/natural-1.jpg +0 -0
  100. data/styleguide/assets/images/styleguide-examples/natural-2.jpg +0 -0
  101. data/styleguide/assets/images/styleguide-examples/natural-3.jpg +0 -0
  102. data/styleguide/assets/images/styleguide-examples/not-centered.jpg +0 -0
  103. data/styleguide/assets/images/styleguide-examples/realistic.jpg +0 -0
  104. data/styleguide/assets/images/styleguide-examples/unaltered.jpg +0 -0
  105. data/styleguide/assets/images/styleguide-examples/unnatural-1.jpg +0 -0
  106. data/styleguide/assets/images/styleguide-examples/unnatural-2.jpg +0 -0
  107. data/styleguide/assets/images/styleguide-examples/unnatural-3.jpg +0 -0
  108. data/styleguide/assets/images/styleguide-examples/warm.jpg +0 -0
  109. data/styleguide/assets/images/tone-framework.png +0 -0
  110. data/styleguide/assets/images/tone.png +0 -0
  111. data/styleguide/assets/images/tooltip.png +0 -0
  112. data/styleguide/assets/images/tsandcs.png +0 -0
  113. data/styleguide/assets/images/ustyle.svg +73 -0
  114. data/styleguide/assets/images/ux-conventions-consistency.png +0 -0
  115. data/styleguide/assets/images/ux-conventions-error.png +0 -0
  116. data/styleguide/assets/images/ux-conventions-errors.png +0 -0
  117. data/styleguide/assets/images/ux-conventions-flexibility.png +0 -0
  118. data/styleguide/assets/images/ux-conventions-freedom.png +0 -0
  119. data/styleguide/assets/images/ux-conventions-minimalist.png +0 -0
  120. data/styleguide/assets/images/ux-conventions-real-world.png +0 -0
  121. data/styleguide/assets/images/ux-conventions-recognition.png +0 -0
  122. data/styleguide/assets/images/ux-conventions-visibility.png +0 -0
  123. data/styleguide/assets/javascripts/app.js +115 -0
  124. data/styleguide/assets/javascripts/modules/stats.js +50 -0
  125. data/styleguide/assets/javascripts/vendor/highlight.js +1 -0
  126. data/styleguide/assets/javascripts/vendor/svg4everybody.js +1 -0
  127. data/styleguide/assets/sass/main.scss +42 -0
  128. data/styleguide/assets/sass/modules/_code.scss +8 -0
  129. data/styleguide/assets/sass/modules/_colours.scss +26 -0
  130. data/styleguide/assets/sass/modules/_copyright.scss +4 -0
  131. data/styleguide/assets/sass/modules/_grid.scss +12 -0
  132. data/styleguide/assets/sass/modules/_home.scss +5 -0
  133. data/styleguide/assets/sass/modules/_images.scss +24 -0
  134. data/styleguide/assets/sass/modules/_links.scss +3 -0
  135. data/styleguide/assets/sass/modules/_logo.scss +182 -0
  136. data/styleguide/assets/sass/modules/_made-at.scss +6 -0
  137. data/styleguide/assets/sass/modules/_markdown.scss +7 -0
  138. data/styleguide/assets/sass/modules/_nav-mobile.scss +72 -0
  139. data/styleguide/assets/sass/modules/_nav.scss +32 -0
  140. data/styleguide/assets/sass/modules/_sidebar.scss +94 -0
  141. data/styleguide/assets/sass/modules/_states.scss +4 -0
  142. data/styleguide/assets/sass/modules/_styleguide.scss +138 -0
  143. data/styleguide/assets/sass/modules/_table.scss +3 -0
  144. data/styleguide/assets/sass/modules/_tooltip.scss +9 -0
  145. data/styleguide/assets/sass/modules/_typography.scss +14 -0
  146. data/styleguide/assets/sass/modules/_version.scss +11 -0
  147. data/styleguide/assets/sass/structure/_base.scss +18 -0
  148. data/styleguide/assets/sass/structure/_header.scss +12 -0
  149. data/styleguide/assets/sass/vendor/_highlight.scss +139 -0
  150. data/styleguide/assets/sass/vendor/_pure-table.scss +75 -0
  151. data/styleguide/content/brand/index.md +47 -0
  152. data/styleguide/content/brand/logo.tpl +279 -0
  153. data/styleguide/content/design/accessibility-testing.md +82 -0
  154. data/styleguide/content/design/index.tpl +367 -0
  155. data/styleguide/content/design/typography.md +68 -0
  156. data/styleguide/content/design/validating-designs.tpl +304 -0
  157. data/styleguide/content/index.tpl +51 -0
  158. data/styleguide/content/language/grammar.md +220 -0
  159. data/styleguide/content/language/microcopy.md +170 -0
  160. data/styleguide/content/language/tone.md +135 -0
  161. data/styleguide/content/pattern-library/grid.tpl +64 -0
  162. data/styleguide/content/pattern-library/index.tpl +88 -0
  163. data/styleguide/partials/_footer.tpl +8 -0
  164. data/styleguide/partials/_head.tpl +26 -0
  165. data/styleguide/partials/_header.tpl +37 -0
  166. data/styleguide/partials/_sidebar.tpl +27 -0
  167. data/styleguide/partials/colour.tpl +24 -0
  168. data/styleguide/partials/icons.tpl +28 -0
  169. data/styleguide/partials/style_block.tpl +44 -0
  170. data/styleguide/templates/simple.tpl +25 -0
  171. data/styleguide/templates/stats.tpl +50 -0
  172. data/styleguide/templates/styleguide.tpl +36 -0
  173. data/tasks/publish.rake +67 -0
  174. data/ustyle.gemspec +32 -0
  175. data/vendor/assets/images/forms/checkbox-rebrand.svg +1 -0
  176. data/vendor/assets/images/forms/checkbox.svg +1 -0
  177. data/vendor/assets/images/icons/alarm.svg +1 -0
  178. data/vendor/assets/images/icons/android.svg +1 -0
  179. data/vendor/assets/images/icons/arrow-circle.svg +1 -0
  180. data/vendor/assets/images/icons/arrow-down.svg +1 -0
  181. data/vendor/assets/images/icons/arrow-up.svg +1 -0
  182. data/vendor/assets/images/icons/book.svg +1 -0
  183. data/vendor/assets/images/icons/bookmark.svg +1 -0
  184. data/vendor/assets/images/icons/breadcrumb.svg +1 -0
  185. data/vendor/assets/images/icons/calculator.svg +1 -0
  186. data/vendor/assets/images/icons/calendar.svg +1 -0
  187. data/vendor/assets/images/icons/car.svg +1 -0
  188. data/vendor/assets/images/icons/checkbox-tick.svg +1 -0
  189. data/vendor/assets/images/icons/chevron-left.svg +1 -0
  190. data/vendor/assets/images/icons/chevron-right.svg +1 -0
  191. data/vendor/assets/images/icons/clock.svg +1 -0
  192. data/vendor/assets/images/icons/close.svg +1 -0
  193. data/vendor/assets/images/icons/cog.svg +1 -0
  194. data/vendor/assets/images/icons/controller.svg +1 -0
  195. data/vendor/assets/images/icons/credit-card.svg +1 -0
  196. data/vendor/assets/images/icons/cross.svg +1 -0
  197. data/vendor/assets/images/icons/dashcam.svg +1 -0
  198. data/vendor/assets/images/icons/dual-fuel.svg +1 -0
  199. data/vendor/assets/images/icons/electric-light.svg +1 -0
  200. data/vendor/assets/images/icons/envelope.svg +1 -0
  201. data/vendor/assets/images/icons/exit-noexit.svg +1 -0
  202. data/vendor/assets/images/icons/facebook-brand.svg +1 -0
  203. data/vendor/assets/images/icons/facebook.svg +1 -0
  204. data/vendor/assets/images/icons/filter.svg +1 -0
  205. data/vendor/assets/images/icons/fixed-variable.svg +1 -0
  206. data/vendor/assets/images/icons/gas.svg +1 -0
  207. data/vendor/assets/images/icons/gauge.svg +1 -0
  208. data/vendor/assets/images/icons/github.svg +1 -0
  209. data/vendor/assets/images/icons/google-brand.svg +1 -0
  210. data/vendor/assets/images/icons/google.svg +1 -0
  211. data/vendor/assets/images/icons/graph-up.svg +1 -0
  212. data/vendor/assets/images/icons/home.svg +1 -0
  213. data/vendor/assets/images/icons/hot.svg +1 -0
  214. data/vendor/assets/images/icons/info.svg +1 -0
  215. data/vendor/assets/images/icons/kettle.svg +1 -0
  216. data/vendor/assets/images/icons/key.svg +1 -0
  217. data/vendor/assets/images/icons/lock.svg +1 -0
  218. data/vendor/assets/images/icons/magnify-in.svg +1 -0
  219. data/vendor/assets/images/icons/magnify.svg +1 -0
  220. data/vendor/assets/images/icons/menu.svg +1 -0
  221. data/vendor/assets/images/icons/message.svg +1 -0
  222. data/vendor/assets/images/icons/mobile.svg +1 -0
  223. data/vendor/assets/images/icons/monthly-dd.svg +1 -0
  224. data/vendor/assets/images/icons/network.svg +1 -0
  225. data/vendor/assets/images/icons/no-exit.svg +1 -0
  226. data/vendor/assets/images/icons/pdf.svg +1 -0
  227. data/vendor/assets/images/icons/pencil.svg +1 -0
  228. data/vendor/assets/images/icons/person-add.svg +1 -0
  229. data/vendor/assets/images/icons/person.svg +1 -0
  230. data/vendor/assets/images/icons/phone.svg +1 -0
  231. data/vendor/assets/images/icons/piggy-bank.svg +1 -0
  232. data/vendor/assets/images/icons/pin.svg +1 -0
  233. data/vendor/assets/images/icons/play.svg +1 -0
  234. data/vendor/assets/images/icons/pound-circle.svg +1 -0
  235. data/vendor/assets/images/icons/pound-note.svg +1 -0
  236. data/vendor/assets/images/icons/present.svg +1 -0
  237. data/vendor/assets/images/icons/print.svg +1 -0
  238. data/vendor/assets/images/icons/quarterly-dd.svg +1 -0
  239. data/vendor/assets/images/icons/question-circle.svg +1 -0
  240. data/vendor/assets/images/icons/quote.svg +1 -0
  241. data/vendor/assets/images/icons/recycle.svg +1 -0
  242. data/vendor/assets/images/icons/remove.svg +1 -0
  243. data/vendor/assets/images/icons/renewable.svg +1 -0
  244. data/vendor/assets/images/icons/results.svg +1 -0
  245. data/vendor/assets/images/icons/save.svg +1 -0
  246. data/vendor/assets/images/icons/share.svg +1 -0
  247. data/vendor/assets/images/icons/shield.svg +1 -0
  248. data/vendor/assets/images/icons/sim.svg +1 -0
  249. data/vendor/assets/images/icons/smiley.svg +1 -0
  250. data/vendor/assets/images/icons/sort.svg +1 -0
  251. data/vendor/assets/images/icons/speech-circle.svg +1 -0
  252. data/vendor/assets/images/icons/speech.svg +1 -0
  253. data/vendor/assets/images/icons/spinner-rebrand.svg +1 -0
  254. data/vendor/assets/images/icons/spinner.svg +1 -0
  255. data/vendor/assets/images/icons/star-half.svg +1 -0
  256. data/vendor/assets/images/icons/star.svg +1 -0
  257. data/vendor/assets/images/icons/starline-half.svg +1 -0
  258. data/vendor/assets/images/icons/starline.svg +1 -0
  259. data/vendor/assets/images/icons/talk.svg +1 -0
  260. data/vendor/assets/images/icons/tick-circle.svg +1 -0
  261. data/vendor/assets/images/icons/tick.svg +1 -0
  262. data/vendor/assets/images/icons/tv.svg +1 -0
  263. data/vendor/assets/images/icons/twitter-brand.svg +1 -0
  264. data/vendor/assets/images/icons/twitter.svg +1 -0
  265. data/vendor/assets/images/icons/ustyle.svg +1 -0
  266. data/vendor/assets/images/icons/uswitch.svg +1 -0
  267. data/vendor/assets/images/icons/variable.svg +1 -0
  268. data/vendor/assets/images/icons/warning-circle.svg +1 -0
  269. data/vendor/assets/images/icons/warning.svg +1 -0
  270. data/vendor/assets/images/icons/wifi.svg +1 -0
  271. data/vendor/assets/images/icons/wiki.svg +1 -0
  272. data/vendor/assets/images/icons/xml.svg +1 -0
  273. data/vendor/assets/images/icons.svg +1 -0
  274. data/vendor/assets/javascripts/ustyle/backdrop.js +56 -0
  275. data/vendor/assets/javascripts/ustyle/classtoggler.js +76 -0
  276. data/vendor/assets/javascripts/ustyle/overlay.js +152 -0
  277. data/vendor/assets/javascripts/ustyle/tabs.js +166 -0
  278. data/vendor/assets/javascripts/ustyle/utils.js +113 -0
  279. data/vendor/assets/javascripts/ustyle.js +4 -0
  280. data/vendor/assets/stylesheets/rebrand-content.scss +1 -0
  281. data/vendor/assets/stylesheets/rebrand.scss +1 -0
  282. data/vendor/assets/stylesheets/ustyle/_all.scss +55 -0
  283. data/vendor/assets/stylesheets/ustyle/_content.scss +5 -0
  284. data/vendor/assets/stylesheets/ustyle/_global.scss +20 -0
  285. data/vendor/assets/stylesheets/ustyle/articles/_base.scss +100 -0
  286. data/vendor/assets/stylesheets/ustyle/articles/_guide.scss +57 -0
  287. data/vendor/assets/stylesheets/ustyle/articles/_more.scss +31 -0
  288. data/vendor/assets/stylesheets/ustyle/articles/_news.scss +213 -0
  289. data/vendor/assets/stylesheets/ustyle/articles/_related.scss +76 -0
  290. data/vendor/assets/stylesheets/ustyle/basics/_extends.scss +73 -0
  291. data/vendor/assets/stylesheets/ustyle/basics/_fonts.scss +27 -0
  292. data/vendor/assets/stylesheets/ustyle/basics/_functions.scss +78 -0
  293. data/vendor/assets/stylesheets/ustyle/basics/_grid.scss +86 -0
  294. data/vendor/assets/stylesheets/ustyle/basics/_typography.scss +123 -0
  295. data/vendor/assets/stylesheets/ustyle/basics/_variables.scss +166 -0
  296. data/vendor/assets/stylesheets/ustyle/basics/variables/_colors.scss +94 -0
  297. data/vendor/assets/stylesheets/ustyle/basics/variables/_forms.scss +98 -0
  298. data/vendor/assets/stylesheets/ustyle/basics/variables/_icons.scss +43 -0
  299. data/vendor/assets/stylesheets/ustyle/components/_backdrop.scss +23 -0
  300. data/vendor/assets/stylesheets/ustyle/components/_breadcrumbs.scss +66 -0
  301. data/vendor/assets/stylesheets/ustyle/components/_button.scss +187 -0
  302. data/vendor/assets/stylesheets/ustyle/components/_calculator.scss +41 -0
  303. data/vendor/assets/stylesheets/ustyle/components/_comp-table-row.scss +341 -0
  304. data/vendor/assets/stylesheets/ustyle/components/_compliance-banner.scss +38 -0
  305. data/vendor/assets/stylesheets/ustyle/components/_content-group.scss +33 -0
  306. data/vendor/assets/stylesheets/ustyle/components/_cta.scss +66 -0
  307. data/vendor/assets/stylesheets/ustyle/components/_grid-classes.scss +52 -0
  308. data/vendor/assets/stylesheets/ustyle/components/_hero.scss +115 -0
  309. data/vendor/assets/stylesheets/ustyle/components/_links.scss +26 -0
  310. data/vendor/assets/stylesheets/ustyle/components/_lists-li.scss +92 -0
  311. data/vendor/assets/stylesheets/ustyle/components/_lists.scss +39 -0
  312. data/vendor/assets/stylesheets/ustyle/components/_loader.scss +139 -0
  313. data/vendor/assets/stylesheets/ustyle/components/_overlay.scss +183 -0
  314. data/vendor/assets/stylesheets/ustyle/components/_progress.scss +138 -0
  315. data/vendor/assets/stylesheets/ustyle/components/_promo-banner.scss +131 -0
  316. data/vendor/assets/stylesheets/ustyle/components/_reminder.scss +87 -0
  317. data/vendor/assets/stylesheets/ustyle/components/_tab-navigation.scss +114 -0
  318. data/vendor/assets/stylesheets/ustyle/components/_table-toolbar.scss +91 -0
  319. data/vendor/assets/stylesheets/ustyle/components/_tabs.scss +300 -0
  320. data/vendor/assets/stylesheets/ustyle/components/_tooltip.scss +243 -0
  321. data/vendor/assets/stylesheets/ustyle/components/_usp.scss +88 -0
  322. data/vendor/assets/stylesheets/ustyle/content/_base.scss +227 -0
  323. data/vendor/assets/stylesheets/ustyle/content/_c-header.scss +27 -0
  324. data/vendor/assets/stylesheets/ustyle/content/_c-social.scss +9 -0
  325. data/vendor/assets/stylesheets/ustyle/content/_c-tabs.scss +30 -0
  326. data/vendor/assets/stylesheets/ustyle/forms/_base.scss +9 -0
  327. data/vendor/assets/stylesheets/ustyle/forms/_fields.scss +78 -0
  328. data/vendor/assets/stylesheets/ustyle/forms/_input-group.scss +154 -0
  329. data/vendor/assets/stylesheets/ustyle/forms/_input.scss +61 -0
  330. data/vendor/assets/stylesheets/ustyle/forms/_radio-checkbox.scss +144 -0
  331. data/vendor/assets/stylesheets/ustyle/forms/_reset.scss +21 -0
  332. data/vendor/assets/stylesheets/ustyle/forms/_select.scss +154 -0
  333. data/vendor/assets/stylesheets/ustyle/forms/_textarea.scss +33 -0
  334. data/vendor/assets/stylesheets/ustyle/forms/_toggle.scss +114 -0
  335. data/vendor/assets/stylesheets/ustyle/forms/_validation.scss +104 -0
  336. data/vendor/assets/stylesheets/ustyle/icons/_base.scss +241 -0
  337. data/vendor/assets/stylesheets/ustyle/mixins/_arrow.scss +51 -0
  338. data/vendor/assets/stylesheets/ustyle/mixins/_base.scss +7 -0
  339. data/vendor/assets/stylesheets/ustyle/mixins/_baseline.scss +43 -0
  340. data/vendor/assets/stylesheets/ustyle/mixins/_forms.scss +84 -0
  341. data/vendor/assets/stylesheets/ustyle/mixins/_general.scss +24 -0
  342. data/vendor/assets/stylesheets/ustyle/mixins/_link-colors.scss +44 -0
  343. data/vendor/assets/stylesheets/ustyle/mixins/_media-query.scss +121 -0
  344. data/vendor/assets/stylesheets/ustyle/mixins/_typography.scss +98 -0
  345. data/vendor/assets/stylesheets/ustyle/tables/_base.scss +4 -0
  346. data/vendor/assets/stylesheets/ustyle/tables/_tables-basic.scss +72 -0
  347. data/vendor/assets/stylesheets/ustyle/tables/_tables-sortable.scss +72 -0
  348. data/vendor/assets/stylesheets/ustyle/tables/_tables-with-key-cells.scss +18 -0
  349. data/vendor/assets/stylesheets/ustyle/tables/_variables.scss +15 -0
  350. data/vendor/assets/stylesheets/ustyle/utilities/_general.scss +116 -0
  351. data/vendor/assets/stylesheets/ustyle/utilities/_grid.scss +13 -0
  352. data/vendor/assets/stylesheets/ustyle/utilities/_images.scss +34 -0
  353. data/vendor/assets/stylesheets/ustyle/utilities/_responsive.scss +101 -0
  354. data/vendor/assets/stylesheets/ustyle/utilities/_spacing.scss +73 -0
  355. data/vendor/assets/stylesheets/ustyle/vendor/normalize.scss +427 -0
  356. data/vendor/assets/stylesheets/ustyle-content.scss +2 -0
  357. data/vendor/assets/stylesheets/ustyle.scss +1 -0
  358. metadata +517 -0
@@ -0,0 +1,26 @@
1
+ // @page Pattern Library/Components
2
+ // @name Anchor links
3
+ //
4
+ // @description
5
+ // Anchor tag styling, with and without a border.
6
+ //
7
+ // @state .us-link - Adds a border bottom to the link.
8
+ // @state .us-link--light - Changes the link colours to white for when links are placed on dark backgrounds.
9
+ //
10
+ // @markup
11
+ // <a href="#" class="{$modifiers}">Link</a>
12
+
13
+ %anchor-link {
14
+ text-decoration: underline;
15
+ }
16
+
17
+ a,
18
+ .us-link {
19
+ @extend %anchor-link;
20
+ @include link-colors($c-uswitch-navy, $c-darker-grey, $c-uswitch-navy, $c-uswitch-navy, $c-uswitch-navy);
21
+ transition: color 333ms;
22
+ }
23
+
24
+ .us-link--light {
25
+ @include link-colors($c-white, $c-super-light-grey, $c-white, $c-white, $c-white);
26
+ }
@@ -0,0 +1,92 @@
1
+ // @page Pattern Library/Typography
2
+ // @name Numbered list
3
+ //
4
+ // @description
5
+ // Our default numbered list styling.
6
+ //
7
+ // @state .us-custom-list-alt - Allows us to use the lists on hero/blue backgrounds.
8
+ //
9
+ // @markup
10
+ // <ul class='us-numbered-list {$modifiers}'>
11
+ // <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sollicitudin iaculis bibendum.</li>
12
+ // <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sollicitudin iaculis bibendum.</li>
13
+ // </ul>
14
+
15
+ %base-custom-list {
16
+ padding: 0;
17
+ margin: 1.5em 0;
18
+ list-style: none;
19
+
20
+ li {
21
+ position: relative;
22
+ padding-left: 2em;
23
+ margin: .5em 0;
24
+
25
+ &:before {
26
+ position: absolute;
27
+ left: 0;
28
+ }
29
+ }
30
+ }
31
+
32
+ .us-numbered-list {
33
+ @extend %base-custom-list;
34
+ counter-reset: number-counter;
35
+
36
+ li {
37
+ counter-increment: number-counter;
38
+
39
+ &:before {
40
+ top: 0;
41
+ width: 1.5em;
42
+ height: 1.5em;
43
+ padding-top: .25em;
44
+ line-height: 1;
45
+ color: $c-typecyan;
46
+ text-align: center;
47
+ border-radius: 2em;
48
+ content: counter(number-counter);
49
+ box-sizing: border-box;
50
+ }
51
+ }
52
+
53
+ .us-hero & li:before,
54
+ &.us-custom-list-alt li:before {
55
+ color: $c-navy;
56
+ background: #fff;
57
+ background: rgba(255, 255, 255, .7);
58
+ }
59
+ }
60
+
61
+ // @page Pattern Library/Typography
62
+ // @name Ticked list
63
+ //
64
+ // @description
65
+ // Our default ticked list styling.
66
+ //
67
+ // @state .us-custom-list-alt - Allows us to use the lists on hero/blue backgrounds.
68
+ //
69
+ // @markup
70
+ // <ul class='us-ticked-list'>
71
+ // <li>
72
+ // <svg role="presentation" aria-hidden="true" class="us-icon us-icon--small us-icon--before us-icon--typegrey"><use xlink:href="/images/icons.svg#icon-tick"/></svg>
73
+ // Lorem ipsum dolor sit amet, consectetur adipiscing elit.
74
+ // </li>
75
+ // <li>
76
+ // <svg role="presentation" aria-hidden="true" class="us-icon us-icon--small us-icon--before us-icon--typegrey"><use xlink:href="/images/icons.svg#icon-tick"/></svg>
77
+ // Lorem ipsum dolor sit amet, consectetur adipiscing elit.
78
+ // </li>
79
+ // </ul>
80
+
81
+ .us-ticked-list {
82
+ @extend %base-custom-list;
83
+
84
+ li {
85
+ padding-left: 0;
86
+
87
+ &:before {
88
+ top: 50%;
89
+ margin-top: - 8px;
90
+ }
91
+ }
92
+ }
@@ -0,0 +1,39 @@
1
+ // @page Pattern Library/Components
2
+ // @name Link lists
3
+ //
4
+ // @description
5
+ // The default list styling for lists that have anchors to take you to other pages.
6
+ //
7
+ // @markup
8
+ // <ul class='us-list'>
9
+ // <li><a href="#">List item 1</a></li>
10
+ // <li><a href="#">List item 2</a></li>
11
+ // <li><a href="#">List item 3</a></li>
12
+ // </ul>
13
+ //
14
+
15
+ %list,
16
+ .us-list {
17
+ @extend %reset-box-model;
18
+ list-style: none;
19
+
20
+ li {
21
+ font-size: 16px;
22
+ margin: 0;
23
+ }
24
+
25
+ a {
26
+ @extend %anchor-link;
27
+ display: block;
28
+ padding-top: .5em;
29
+ padding-bottom: .5em;
30
+ }
31
+
32
+ a:hover {
33
+ color: $c-darker-grey;
34
+ }
35
+
36
+ .us-hero & {
37
+ margin-top: 1em;
38
+ }
39
+ }
@@ -0,0 +1,139 @@
1
+ // @page Pattern Library/Components
2
+ // @name Loader
3
+ //
4
+ // @description
5
+ // Loader component to be added to any AJAX/filter loads across uSwitch. We use them specifically in tables when loading new rows.
6
+ // `.us-loader--loading` will initiate the animation and `.us-loader--centered` will vertically center the loading SVG.
7
+ //
8
+ // @markup
9
+ // <div class='us-loader__container'>
10
+ // <div class='us-loader us-loader--loading us-loader--centered'>
11
+ // <div class='us-loader__inner'>
12
+ // <div class='us-loader__spinner'></div>
13
+ // <div class='us-loader__text'>
14
+ // Loading deals
15
+ // </div>
16
+ // </div>
17
+ // <div class='us-loader__overlay'></div>
18
+ // </div>
19
+ // <!-- EXAMPLE CONTENT -->
20
+ // <ul class='us-list'>
21
+ // <li><a href="#">List item 1</a></li>
22
+ // <li><a href="#">List item 2</a></li>
23
+ // <li><a href="#">List item 3</a></li>
24
+ // <li><a href="#">List item 4</a></li>
25
+ // </ul>
26
+ // <!-- END EXAMPLE -->
27
+ // </div>
28
+
29
+ $loader-overlay-opacity: .8 !default;
30
+ $loader-overlay-colour: #fff !default;
31
+ $spinner-vertical-margin: 1em !default;
32
+ $spinner-animation-time: 500ms !default;
33
+ $spinner-file: "icons/spinner-rebrand.svg" !default;
34
+ $spinner-size: 60px !default;
35
+
36
+ @keyframes loader-intro {
37
+ from {
38
+ opacity: 0;
39
+ }
40
+
41
+ to {
42
+ opacity: 1;
43
+ }
44
+ }
45
+
46
+ @keyframes spin {
47
+ from {
48
+ transform: rotate(0deg);
49
+ }
50
+
51
+ to {
52
+ transform: rotate(360deg);
53
+ }
54
+ }
55
+
56
+ %snap-to-parent {
57
+ position: absolute;
58
+ top: 0;
59
+ left: 0;
60
+ width: 100%;
61
+ height: 100%;
62
+ }
63
+
64
+ %spinner-base {
65
+ position: relative;
66
+ z-index: 2;
67
+ display: inline-block;
68
+ margin-top: $spinner-vertical-margin;
69
+ margin-bottom: $spinner-vertical-margin;
70
+ background-repeat: no-repeat;
71
+ }
72
+
73
+ %spinner-icon {
74
+ background: transparent inline-svg($spinner-file) no-repeat center center;
75
+ animation: spin $spinner-animation-time infinite linear;
76
+ }
77
+
78
+ @mixin spinner($size: $spinner-size) {
79
+ @extend %spinner-base;
80
+ @extend %spinner-icon;
81
+
82
+ @if $size {
83
+ width: $size;
84
+ height: $size;
85
+ background-size: $size;
86
+ }
87
+ }
88
+
89
+ .us-loader {
90
+ @extend %snap-to-parent;
91
+ z-index: 1;
92
+ display: none;
93
+ text-align: center;
94
+ }
95
+
96
+ .us-loader__container {
97
+ position: relative;
98
+ }
99
+
100
+ .us-loader--loading {
101
+ display: block;
102
+ animation: loader-intro $spinner-animation-time forwards;
103
+ }
104
+
105
+ .us-loader--centered {
106
+ @extend %vertical-align-parent;
107
+ transform-style: preserve-3d;
108
+ }
109
+
110
+ .us-loader__inner {
111
+ position: relative;
112
+ z-index: 2;
113
+
114
+ .us-loader--centered & {
115
+ @extend %vertical-align-child;
116
+ }
117
+ }
118
+
119
+ .us-loader__spinner {
120
+ .us-loader--loading & {
121
+ @include spinner;
122
+ }
123
+
124
+ .us-loader--centered & {
125
+ margin-top: 0;
126
+ }
127
+ }
128
+
129
+ .us-loader__text {
130
+ @extend %heading-3;
131
+ color: $c-uswitch-navy;
132
+ }
133
+
134
+ .us-loader__overlay {
135
+ @extend %snap-to-parent;
136
+ z-index: 1;
137
+ background-color: $loader-overlay-colour;
138
+ opacity: $loader-overlay-opacity;
139
+ }
@@ -0,0 +1,183 @@
1
+ // @page Pattern Library/JavaScript
2
+ // @name Overlay
3
+ //
4
+ // @description
5
+ // `.us-overlay` slides in from either side of the viewport, or can be shown as a modal window.
6
+ //
7
+ //
8
+ // @javascript
9
+ // var overlay = new Overlay({
10
+ // bodyActiveClass: 'us-overlay--open',
11
+ // activeClass: 'us-overlay-parent--active',
12
+ // visibleClass: 'us-overlay-parent--visible',
13
+ // overlay: $('.us-overlay-parent'),
14
+ // openButton: '.js-open-overlay',
15
+ // closeButton: '.js-close-overlay',
16
+ // historyStatus: '#seedeal',
17
+ // history: false,
18
+ // preventDefault: true
19
+ // });
20
+ //
21
+ // @state .us-overlay--modal - Overlay appears as a modal window.
22
+ // @state .us-overlay--right - Overlay appears on the right side of the viewport (not applicable when used in conjunction with .us-overlay--modal).
23
+ // @state .us-overlay--above - Overlay appears over the top of another open overlay.
24
+ //
25
+ // @markup
26
+ // <button class="us-btn js-open-overlay" modifier="{$modifiers}">Open</button>
27
+ //
28
+ // <div class="us-overlay-parent" modifier="{$modifiers}">
29
+ // <div class="us-overlay {$modifiers}">
30
+ // <div class="us-overlay__container">
31
+ // <div class="us-overlay__header">
32
+ // <div class="us-overlay__title">
33
+ // Overlay
34
+ // </div>
35
+ //
36
+ // <button class="us-overlay__close us-btn us-btn--reversed us-btn--small js-close-overlay">Close</button>
37
+ // </div>
38
+ //
39
+ // <div class="us-overlay__body">
40
+ // Bacon ipsum dolor amet exercitation ground round voluptate, fatback qui cupidatat sunt consectetur. Dolore strip steak pancetta ground round, venison rump tenderloin fatback frankfurter prosciutto deserunt do ex. In cupim ullamco bresaola, beef meatball aliqua laborum landjaeger consectetur tail cupidatat pariatur meatloaf ball tip. Anim cupim dolore, filet mignon kielbasa tri-tip short ribs esse porchetta landjaeger qui pork loin.
41
+ // Ground round nostrud pastrami tempor cow short loin. Ut short ribs alcatra laboris brisket leberkas cow ham hock pork loin excepteur porchetta labore meatloaf. Labore filet mignon ball tip eu pork chop tri-tip porchetta alcatra. Ut consequat cupim ad corned beef sunt proident strip steak tongue irure pastrami kielbasa t-bone.
42
+ // Cow in tenderloin minim, aliqua in turkey anim filet mignon adipisicing reprehenderit bacon. Kielbasa turducken sunt dolore, velit alcatra filet mignon sint commodo beef ribs consectetur pork belly frankfurter pork chop meatloaf. Veniam in ad pork belly deserunt. Kevin sed cupidatat magna, swine incididunt reprehenderit tongue short loin pig kielbasa ham hock frankfurter salami beef ribs. Est corned beef shoulder ipsum, pancetta pork shankle meatloaf in beef in drumstick fatback velit pork chop. Meatloaf velit brisket mollit, ut kielbasa t-bone ex landjaeger pork chop adipisicing prosciutto shankle. Brisket turkey ham hock beef ribs, voluptate venison swine flank doner capicola rump tempor.
43
+ // Reprehenderit proident turkey mollit ut ipsum magna chuck ut brisket venison do. Exercitation boudin cillum prosciutto. Incididunt excepteur sint pork labore pork loin tri-tip salami cow elit bresaola beef ribs aliquip duis. Dolore nisi frankfurter ut magna.
44
+ // Et anim ad commodo, pork aliquip occaecat. Frankfurter kielbasa dolore, landjaeger chuck pork in drumstick fatback. Nulla minim dolor, ut filet mignon ground round id esse beef strip steak do laboris. Kielbasa hamburger consectetur, picanha fatback incididunt aute turducken pig in rump landjaeger qui pork tongue. Sausage cupim consectetur, drumstick et ea fatback consequat leberkas alcatra meatloaf. Duis rump velit est cupidatat in.
45
+ // </div>
46
+ // </div>
47
+ // </div>
48
+ // </div>
49
+
50
+ $overlay-modal-breakpoint: desktop !default;
51
+ $overlay-modal-width: 60% !default;
52
+ $overlay-max-modal-width: 700px !default;
53
+ $overlay-z-index: 1003 !default;
54
+ $overlay-transition-speed: .3s !default;
55
+ $overlay-mobile-width: 100% !default;
56
+ $overlay-tablet-width: 340px !default;
57
+ $overlay-header-height: 55px !default;
58
+ $overlay-close-size: 64px !default;
59
+
60
+ .us-overlay--open {
61
+ overflow: hidden;
62
+ }
63
+
64
+ @mixin overlay--open {
65
+ .us-overlay-parent--active & {
66
+ @content;
67
+ }
68
+ }
69
+
70
+ @mixin overlay--above {
71
+ &.us-overlay--above {
72
+ @content;
73
+ }
74
+ }
75
+
76
+ .us-overlay-parent {
77
+ position: fixed;
78
+ top: 0;
79
+ right: 0;
80
+ bottom: 0;
81
+ left: 0;
82
+ z-index: $overlay-z-index;
83
+ visibility: hidden;
84
+ }
85
+
86
+ .us-overlay-parent--visible {
87
+ overflow: scroll;
88
+ visibility: visible;
89
+ }
90
+
91
+ .us-overlay {
92
+ position: absolute;
93
+ z-index: $overlay-z-index;
94
+ width: $overlay-mobile-width;
95
+ min-height: 100%;
96
+ background: #fff;
97
+ transform: translate3d(-100%, 0, 0);
98
+ transition: transform $overlay-transition-speed ease-in, opacity $overlay-transition-speed linear, box-shadow $overlay-transition-speed linear;
99
+ -webkit-overflow-scrolling: auto;
100
+
101
+ @include overlay--open {
102
+ opacity: 1;
103
+ transform: translate3d(0, 0, 0);
104
+ box-shadow: 1px 0 18px 0 rgba(0, 0, 0, .3);
105
+ transition-timing-function: ease-out;
106
+ }
107
+
108
+ @include respond-to(small-tablet, true) {
109
+ width: $overlay-tablet-width;
110
+ }
111
+ }
112
+
113
+ .us-overlay--above {
114
+ z-index: $overlay-z-index + 1;
115
+
116
+ @include overlay--open {
117
+ box-shadow: 1px 0 30px 5px rgba(0, 0, 0, .3);
118
+ }
119
+ }
120
+
121
+ .us-overlay--modal {
122
+ @include respond-to($overlay-modal-breakpoint, true) {
123
+ position: relative;
124
+ width: $overlay-modal-width;
125
+ max-width: $overlay-max-modal-width;
126
+ min-height: 0;
127
+ margin: 5% auto;
128
+ opacity: 0;
129
+ transform: translate3d(0, -30px, 0);
130
+
131
+ @include overlay--open {
132
+ transform: translate3d(0, 0, 0);
133
+ box-shadow: 0 1px 18px 0 rgba(0, 0, 0, .3);
134
+
135
+ @include overlay--above {
136
+ box-shadow: 0 1px 30px 5px rgba(0, 0, 0, .3);
137
+ }
138
+ }
139
+ }
140
+ }
141
+
142
+ .us-overlay--right {
143
+ right: 0;
144
+ transform: translate3d(100%, 0, 0);
145
+
146
+ @include overlay--open {
147
+ transform: translate3d(0, 0, 0);
148
+ box-shadow: -1px 0 18px 0 rgba(0, 0, 0, .3);
149
+
150
+ @include overlay--above {
151
+ box-shadow: -1px 0 30px 5px rgba(0, 0, 0, .3);
152
+ }
153
+ }
154
+ }
155
+
156
+ .us-overlay__container {
157
+ position: relative;
158
+ }
159
+
160
+ .us-overlay__body {
161
+ @extend %container !optional;
162
+ padding: 1em;
163
+ color: $c-typegrey;
164
+ }
165
+
166
+ .us-overlay__header {
167
+ position: relative;
168
+ width: 100%;
169
+ min-height: $overlay-header-height;
170
+ padding: 1em;
171
+ color: #fff;
172
+ background: $c-navy;
173
+ }
174
+
175
+ .us-overlay__title {
176
+ width: calc(100% - #{$overlay-close-size});
177
+ }
178
+
179
+ .us-overlay__close {
180
+ position: absolute;
181
+ top: .75em;
182
+ right: 1em;
183
+ }
@@ -0,0 +1,138 @@
1
+ // @page Pattern Library/Components
2
+ // @name Progress navigation
3
+ //
4
+ // @description
5
+ // The progress navigation should be used for any funnel journeys on the website. Once a section has been completed the user should be able to get back to that step.
6
+ // The mobile view of the navigation just has the dotted numbers.
7
+ //
8
+ // @markup
9
+ // <div class="us-progress">
10
+ // <nav>
11
+ // <ul class="us-progress__nav us-clearfix">
12
+ // <li class="us-progress__item">
13
+ // <a href="#" class="us-progress__link us-progress__link--complete">
14
+ // <span class="us-tablet--inline">Current supplier</span>
15
+ // </a>
16
+ // </li>
17
+ // <li class="us-progress__item">
18
+ // <a href="#" class="us-progress__link us-progress__link--complete">
19
+ // <span class="us-tablet--inline">Usage</span>
20
+ // </a>
21
+ // </li>
22
+ // <li class="us-progress__item">
23
+ // <span class="us-progress__link us-progress__link--current">
24
+ // <span class="us-tablet--inline">Results</span>
25
+ // </span>
26
+ // </li>
27
+ // <li class="us-progress__item">
28
+ // <span class="us-progress__link us-progress__link--next">
29
+ // <span class="us-tablet--inline">New tariff</span>
30
+ // </span>
31
+ // </li>
32
+ // <li class="us-progress__item">
33
+ // <span class="us-progress__link us-progress__link--next">
34
+ // <span class="us-tablet--inline">Apply</span>
35
+ // </span>
36
+ // </li>
37
+ // </ul>
38
+ // </nav>
39
+ // </div>
40
+ //
41
+
42
+ $progress-bg-color: $c-white;
43
+ $progress-current-color: $c-white;
44
+ $progress-complete-color: $c-uswitch-navy;
45
+ $progress-next-color: $c-grey;
46
+
47
+ .us-progress {
48
+ position: relative;
49
+ z-index: 4;
50
+ background-color: $progress-bg-color;
51
+ }
52
+
53
+ .us-progress__nav {
54
+ @extend %reset-box-model;
55
+ list-style: none;
56
+ counter-reset: number-counter;
57
+ }
58
+
59
+ .us-progress__item {
60
+ @extend %reset-box-model;
61
+ position: relative;
62
+ float: left;
63
+ line-height: 1.5em;
64
+ counter-increment: number-counter;
65
+
66
+ @include respond-to(tablet, true) {
67
+ margin-right: $gutter-width;
68
+ }
69
+ }
70
+
71
+ .us-progress__link {
72
+ position: relative;
73
+ display: block;
74
+ padding-top: .5em;
75
+ padding-bottom: .5em;
76
+
77
+ @include respond-to(tablet, true) {
78
+ padding-top: 1em;
79
+ padding-bottom: 1em;
80
+ }
81
+
82
+ &:before {
83
+ position: relative;
84
+ display: inline-block;
85
+ width: 1.5em;
86
+ height: 1.5em;
87
+ margin-right: $gutter-width/3;
88
+ font-weight: 500;
89
+ color: $c-white;
90
+ text-align: center;
91
+ border-radius: 50%;
92
+ content: counter(number-counter);
93
+ transition: background-color .3s;
94
+ border-width: 3px;
95
+ border-style: solid;
96
+ }
97
+ }
98
+
99
+ .us-progress__link--next {
100
+ color: $c-uswitch-navy;
101
+
102
+ &:before {
103
+ border-color: $progress-next-color;
104
+ background-color: $progress-next-color;
105
+ }
106
+ }
107
+
108
+
109
+ .us-progress__link--current {
110
+ color: $c-uswitch-navy;
111
+
112
+ &:before {
113
+ color: $c-uswitch-navy;
114
+ background-color: $progress-current-color;
115
+ border-color: $c-uswitch-navy;
116
+ }
117
+ }
118
+
119
+ .us-progress__link--complete {
120
+ @include link-colors($progress-complete-color, #fff, $progress-complete-color, $progress-complete-color, #fff);
121
+ text-decoration: none;
122
+
123
+ &:hover {
124
+ text-decoration: underline;
125
+ text-decoration-color: $c-uswitch-navy;
126
+ }
127
+
128
+ &:before {
129
+ background-color: $progress-complete-color;
130
+ border-color: $c-uswitch-navy;
131
+ }
132
+
133
+ &:hover span,
134
+ &:focus span {
135
+ color: $c-uswitch-navy;
136
+ }
137
+ }
138
+