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,367 @@
1
+ ---
2
+ name: Imagery
3
+ ---
4
+ <ul class='table-of-contents'>
5
+ <li><a href="#how-to-select-an-image">How to select an image</a></li>
6
+ <li><a href="#cropping">Cropping</a></li>
7
+ <li><a href="#where-to-get-images">Where to get images</a></li>
8
+ <li><a href="#what-to-purchase">What to purchase</a></li>
9
+ <li><a href="#types-of-licenses">Types of licenses</a></li>
10
+ <li><a href="#image-storage">Image storage</a></li>
11
+ <li><a href="#about-retina">About Retina</a></li>
12
+ <li><a href="#our-image-sizes">Our image sizes</a></li>
13
+ <li><a href="#alt-text">Alt text</a></li>
14
+ <li><a href="#examples">Examples</a></li>
15
+ </ul>
16
+
17
+ <div class="us-content-group" id="how-to-select-an-image">
18
+ <h2>How to select an image</h2>
19
+ <p>We use imagery to relate and engage with our customers, to support our message, and to aid in understanding. These guidelines are here to help you chose images that reflect our brand values and personality. If you’re questioning whether an image is suitable, ask a designer – they’ll be happy to help.</p>
20
+
21
+ <h3>Principles</h3>
22
+
23
+ <h4>Focused</h4>
24
+ <p>Images are more interesting when they have a point of focus.</p>
25
+
26
+ <h4>Contextual</h4>
27
+ <p>People and objects should be properly contextualised. Avoid cropping an image so severely that it’s setting is lost.</p>
28
+
29
+ <h4>Local</h4>
30
+ <p>Make sure clothing, architectural features, light and style have a UK feel.</p>
31
+
32
+ <h3>Mood</h3>
33
+ <p>Relatable, genuine, optimistic, affirmative.</p>
34
+
35
+ <h4>Colour</h4>
36
+ <p>Our preference is for natural light where possible. Colours should be warm, vibrant and saturated where possible – avoid images that are “washed out”. Do not use dramatic filters, colourisation effects, or black and white.</p>
37
+
38
+ <h4>People and lifestyle</h4>
39
+ <p>Lifestyle shots should be reportage in style, documenting people in their day-to-day lives. Subjects should be unposed, and within their natural environment. People should never be cut out or appear over solid backgrounds. Images should be relatable and feature real, everyday people. Avoid fake or forced emotions as it can seem ingenuine. A range of gender, race, and age should be represented.</p>
40
+
41
+ <h4>Products and objects</h4>
42
+ <p>Object focused imagery may be cut out and appear over our brand colours or on white. When cut out, the whole object must be appear – edges must never be cut off.</p>
43
+
44
+ <p>When objects aren’t cut out, they should be realistic in their setting and not appear staged. Images should be straightforward, not overly metaphor based, and should not appear noticeably manipulated.</p>
45
+
46
+ <h4>Illustrations</h4>
47
+ <p>Illustrations may be used to add understanding and delight to an experience.</p>
48
+
49
+ <p>Our illustrative style is simple and geometric. Our brand colours should be used predominantly, although variations in shades and saturation may be necessarily. Illustrations should generally appear over solid colour or white backgrounds. Avoid using illustrations that are clichéd or overly metaphor based.</p>
50
+
51
+ <h4>Generating new photography</h4>
52
+ <p>We generally try to avoid commissioning photography unless completely necessary as it can prove to be extremely expensive. Before commissioning new photography, carefully consider:</p>
53
+
54
+ <ol>
55
+ <li>Do we already have what’s needed in our image library?</li>
56
+ <li>If not, can you find it – in stock, from a press office or other legitimate source?</li>
57
+ </ol>
58
+
59
+ <p>Where we do shoot our own (product shots, staff portraits etc being examples of where this may be necessary) we follow these guidelines.</p>
60
+ </div>
61
+
62
+ <div class="us-content-group" id="cropping">
63
+ <h2>Cropping</h2>
64
+ <p>Images will often need to be cropped to fit various size requirements. When cropped, images should still follow all guidelines.</p>
65
+ </div>
66
+
67
+ <div class="us-content-group" id="where-to-get-images">
68
+ <h2>Where to get images</h2>
69
+ <p>The following sites are our preferred resources as images are royalty-free, reasonably priced, and generally good quality. There are shared uSwitch logins for these sites – get in touch with the Service Desk if you don't have access.</p>
70
+
71
+ <ol>
72
+ <li><a href="http://www.shutterstock.com">www.shutterstock.com</a></li>
73
+ <p>Monthly subscription which allows us to download 750 images per month</p>
74
+
75
+ <li><a href="http://www.istock.com">www.istock.com</a></li>
76
+ <p>Monthly subscription which allows us to download 10 signature images per month</p>
77
+
78
+ <li><a href="http://www.500px.com">www.500px.com</a></li>
79
+ <p>Images are purchased individually.</p>
80
+ </ol>
81
+ </div>
82
+
83
+ <div class="us-content-group" id="what-to-purchase">
84
+ <h2>What to purchase</h2>
85
+ <h3>Dimensions</h3>
86
+ <p>Stock sites often allow you to purchase images in Small, Medium and Large sizes. Purchasing the largest option is recommended as this will cover most of our online use cases and allow for flexibility when it comes to cropping.</p>
87
+
88
+ <h3>File types</h3>
89
+ <h4>Photography</h4>
90
+ <p>Most photography that you purchase from stock sites will be either JPG or TIFF format. Either is fine, but if it’s a TIFF, it will need to be converted to a JPG before using online.</p>
91
+
92
+ <h4>Graphics and Illustrations</h4>
93
+ <p>Graphics and illustrations are usually available in EPS, SVG, or PNG format. When available, EPS or SVG files are preferred as they can be scaled to any size. EPS files will need to be converted to an SVG or PNG before using online.</p>
94
+ </div>
95
+
96
+
97
+ <div class="us-content-group" id="types-of-licenses">
98
+ <h2>Types of licenses</h2>
99
+
100
+ <h3>1. Rights-managed</h3>
101
+ <p>Rights-managed images often have limitations in regards to the following:</p>
102
+
103
+ <ul>
104
+ <li>How many times you can use them</li>
105
+ <li>Regions you can use them in</li>
106
+ <li>Type of media you can use them on</li>
107
+ <li>Length of time you can use them for</li>
108
+ </ul>
109
+
110
+ <h3>2. Royalty-free</h3>
111
+ <p>Royalty-free images can generally be used on multiple projects for an unlimited amount of time. They should not be confused with “free”. You must still pay a one-off cost to use them.</p>
112
+
113
+ <p>We prefer royalty-free images as there’s fewer restrictions around using them. However even with this type of licence, there may be some usage restrictions, so it’s important to read the licence agreements and act accordingly.</p>
114
+
115
+ <ul>
116
+ <li><a href="http://www.shutterstock.com/license">Shutterstock licensing</a></li>
117
+ <li><a href="http://www.istockphoto.com/legal/license-agreement">iStock licensing</a></li>
118
+ <li><a href="http://static.500px.net/docs/commercial_licensing_agreement.pdf">500px licensing</a></li>
119
+ </ul>
120
+
121
+ <h3>3. Creative Commons</h3>
122
+ <p>Creative Commons means the owner of an image has made it available for use under certain restrictions. Restrictions often include that you must attribute the image to the owner, that you may not use it for commercial purposes, or that you may not alter the image.</p>
123
+
124
+ <p><a href="http://www.flickr.com">Flickr</a> is a good resource for images that have been made available through Creative Commons, but make sure you understand and comply with any restrictions they’re being offered under.</p>
125
+
126
+ <h3>4. Public Domain</h3>
127
+ <p>Public Domain refers to images that do not have a copyright and therefore free for anyone to use. It can apply to images that are very old or where the creator has given up their copyright.</p>
128
+
129
+ <h3>How do you know if you can use an image?</h3>
130
+ <h4>Only use an image if:</h4>
131
+ <ol type="a">
132
+ <li>You’ve purchased it</li>
133
+ <li>You’ve taken it yourself or hired a photographer to take it for you</li>
134
+ <li>You have written permission from the owner of the image</li>
135
+ <li>It’s Creative Commons and you’ve complied with any usage conditions</li>
136
+ <li>It’s Public Domain</li>
137
+ </ol>
138
+
139
+ <h4>Never take images directly from:</h4>
140
+ <ul>
141
+ <li>Search engines (Google images etc.)</li>
142
+ <li>Other people’s or organisation’s social media (embedding a tweet is ok if you ask the owner’s permission)</li>
143
+ <li>News outlets</li>
144
+ </ul>
145
+
146
+ <p>Keep in mind that manipulating an image that isn’t yours (adding a filter, cropping etc) doesn’t give you the right to use it.</p>
147
+ </div>
148
+
149
+ <div class="us-content-group" id="image-storage">
150
+ <h2>Image Storage</h2>
151
+ <h3>Where to store images</h3>
152
+ <p>Purchased images should be added to our shared Google Drive storage within the appropriate category. <strong>This should be the original, full-sized, uncropped and uncompressed image only.</strong> This allows for cross vertical sharing as well as usage in other mediums such as email.</p>
153
+
154
+ <p>While the shared library exists so images can be reused, try not to overuse images to the point that they lose their impact.</p>
155
+
156
+ <h3>What to name images</h3>
157
+ <p>Images should be named with a few descriptive words, with words separated by hyphens. Images that are an illustration should have the prefix of "illustation-".</p>
158
+
159
+ <p>For mobile phones, image names should be formatted as follows:</p>
160
+ <p><strong>yyyy-mm-dd-manufacturer-phonename-phoneversion.png</strong></p>
161
+ <p>For example:<strong> 2015-04-10-samsung-galaxy-s6.png</strong></p>
162
+ <p>The date refers to the <u>date of the phone release.</u></p>
163
+
164
+ <h3>Tagging images</h3>
165
+ <p>For searchability, it's important to include descriptive tags for each image you add to Google Drive. You can do this under the "Description" field. The first two tags should be the stock site you got the image from, as well as the image number. Include any other tags that might be useful, separating each tag with commas. </p>
166
+ </div>
167
+
168
+ <div class="us-content-group" id="about-retina">
169
+ <h2>About Retina</h2>
170
+ <p><strong>Retina display</strong> refers to monitors and devices that have a very high pixel density, making screen content appear very crisp and sharp.</p>
171
+
172
+ <p>To take advantage of these high-quality displays, we must use <strong>Retina images</strong>. That simply means that we need to double the intended size of our images. </p>
173
+ </div>
174
+
175
+ <div class="us-content-group" id="our-image-sizes">
176
+ <h2>Our image sizes</h2>
177
+ <p>Below are the minimum required sizes for our images in various materials. If an image does not meet this size, it can’t be used and an alternate image will need to be sourced. An image must not be scaled up in order to meet the minimum required size.</p>
178
+
179
+ <h3>Emails</h3>
180
+
181
+ <h4>Insights</h4>
182
+
183
+ <strong>Hero article</strong>
184
+ <ul>
185
+ <li>Display size: 130w x 147h</li>
186
+ <li>Minimum required size: 260w x 294h</li>
187
+ </ul>
188
+
189
+ <strong>Article</strong>
190
+ <ul>
191
+ <li>Display size: 150w x 170h</li>
192
+ <li>Minimum required size: 300w x 340h</li>
193
+ </ul>
194
+
195
+ <strong>Mobile phones</strong>
196
+ <ul>
197
+ <li>Display size: 75w x 125h</li>
198
+ <li>Minimum required size: 150w x 250h</li>
199
+ </ul>
200
+
201
+ <strong>Provider logos</strong>
202
+ <ul>
203
+ <li>Display size: 100w x 35h</li>
204
+ <li>Minimum required size: 200w x 70h</li>
205
+ </ul>
206
+
207
+ <h4>Tacticals</h4>
208
+
209
+ <strong>Hero article</strong>
210
+ <ul>
211
+ <li>Display size: 250w x 200h</li>
212
+ <li>Minimum required size: 500w x 400h</li>
213
+ </ul>
214
+
215
+ <h4>Guides</h4>
216
+
217
+ <strong>Top banner</strong>
218
+ <ul>
219
+ <li>Display size: 1170hw x 168h</li>
220
+ <li>Minimum required size: Not currently Retina</li>
221
+ </ul>
222
+
223
+ <strong>Content</strong>
224
+ <ul>
225
+ <li>Display size: 770w x flexible height</li>
226
+ <li>Minimum required size: Not currently Retina</li>
227
+ </ul>
228
+
229
+ <h4>News</h4>
230
+
231
+ <strong>Content</strong>
232
+ <ul>
233
+ <li>Display size: 800w x flexible height</li>
234
+ <li>Minimum required size: Not currently Retina</li>
235
+ </ul>
236
+ </div>
237
+
238
+ <div class="us-content-group" id="alt-text">
239
+ <h2>Alternative (alt) text</h2>
240
+ <p>Alt text is an important aspect of web accessibility. All images on our site should include meaningful alt text. <a href="http://webaim.org/techniques/alttext/">See here</a> for best practices.</p>
241
+ <p>If the image is purely decorative, it should have a blank alternative text
242
+ so something unintended (like the image file name) is not read out by a screenreader.</p>
243
+ </div>
244
+
245
+ <div class="us-content-group" id="examples">
246
+ <h2>Examples</h2>
247
+ <div>
248
+ <div class="us-col-xsm-6 image-examples">
249
+ <img class="us-img--full" src="/images/natural-1.jpg" alt="">
250
+ <img class="us-img--full" src="/images/natural-2.jpg" alt="">
251
+ <img class="us-img--full" src="/images/natural-3.jpg" alt="">
252
+ <p class="image-example-reason">
253
+ <strong class="us-color--green">Do</strong><br />
254
+ Images feel natural and authentic.
255
+ </p>
256
+ </div>
257
+ <div class="us-col-xsm-6 image-examples">
258
+ <img class="us-img--full" src="/images/unnatural-1.jpg" alt="">
259
+ <img class="us-img--full" src="/images/unnatural-2.jpg" alt="">
260
+ <img class="us-img--full" src="/images/unnatural-3.jpg" alt="">
261
+ <p class="image-example-reason">
262
+ <strong class="us-color--red">Don't</strong><br />
263
+ Images appear staged.
264
+ </p>
265
+ </div>
266
+ <div class="us-col-xsm-6 image-examples">
267
+ <img class="us-img--full" src="/images/good-subject.jpg" alt="">
268
+ <p class="image-example-reason">
269
+ <strong class="us-color--green">Do</strong></br />
270
+ Subject is contextualised.
271
+ </p>
272
+ </div>
273
+ <div class="us-col-xsm-6 image-examples">
274
+ <img class="us-img--full" src="/images/bad-subject.jpg" alt="">
275
+ <p class="image-example-reason">
276
+ <strong class="us-color--red">Don't</strong><br />
277
+ Image is too closely cropped.
278
+ </p>
279
+ </div>
280
+ <div class="us-col-xsm-6 image-examples">
281
+ <img class="us-img--full" src="/images/accurate-housing.jpg" alt="">
282
+ <p class="image-example-reason">
283
+ <strong class="us-color--green">Do</strong><br />
284
+ Houses are a typical UK style.
285
+ </p>
286
+ </div>
287
+ <div class="us-col-xsm-6 image-examples">
288
+ <img class="us-img--full" src="/images/innaccurate-housing.jpg" alt="">
289
+ <p class="image-example-reason">
290
+ <strong class="us-color--red">Don't</strong><br />
291
+ Houses feel american style.
292
+ </p>
293
+ </div>
294
+ <div class="us-col-xsm-6 image-examples">
295
+ <img class="us-img--full" src="/images/warm.jpg" alt="">
296
+ <p class="image-example-reason">
297
+ <strong class="us-color--green">Do</strong><br />
298
+ Image has warm tones.
299
+ </p>
300
+ </div>
301
+ <div class="us-col-xsm-6 image-examples">
302
+ <img class="us-img--full" src="/images/cold.jpg" alt="">
303
+ <p class="image-example-reason">
304
+ <strong class="us-color--red">Don't</strong><br />
305
+ Image is too cool.
306
+ </p>
307
+ </div>
308
+ <div class="us-col-xsm-6 image-examples">
309
+ <img class="us-img--full" src="/images/unaltered.jpg" alt="">
310
+ <p class="image-example-reason">
311
+ <strong class="us-color--green">Do</strong><br />
312
+ Image does not appear altered.
313
+ </p>
314
+ </div>
315
+ <div class="us-col-xsm-6 image-examples">
316
+ <img class="us-img--full" src="/images/altered.jpg" alt="">
317
+ <p class="image-example-reason">
318
+ <strong class="us-color--red">Don't</strong><br />
319
+ Image is noticeably manipulated.
320
+ </p>
321
+ </div>
322
+ <div class="us-col-xsm-6 image-examples">
323
+ <img class="us-img--full" src="/images/realistic.jpg" alt="">
324
+ <p class="image-example-reason">
325
+ <strong class="us-color--green">Do</strong><br />
326
+ Image is realistic and relatable.
327
+ </p>
328
+ </div>
329
+ <div class="us-col-xsm-6 image-examples">
330
+ <img class="us-img--full" src="/images/cliche.jpg" alt="">
331
+ <p class="image-example-reason">
332
+ <strong class="us-color--red">Don't</strong><br />
333
+ Image is cliché and metaphor based.
334
+ </p>
335
+ </div>
336
+ <div class="us-col-xsm-6 image-tip">
337
+ <img class="us-img--full" src="/images/not-centered.jpg" alt="">
338
+ </div>
339
+ <div class="us-col-xsm-6 image-tip">
340
+ <img class="us-img--full" src="/images/centered.jpg" alt="">
341
+ </div>
342
+ <div class="image-tip image-tip__reason us-col-xsm-12">
343
+ <p class="image-example-reason">
344
+ <strong class="us-color--green">Tip</strong><br />
345
+ Images where subjects are placed to the left/right and top/bottom are more interesting than those placed centrally.
346
+ </p>
347
+ </div>
348
+ <div>
349
+ <div class="us-col-xsm-6 image-tip">
350
+ <img class="us-img--full" src="/images/illustrations_1.png" alt="">
351
+ <img class="us-img--full" src="/images/illustrations_2.png" alt="">
352
+ <img class="us-img--full" src="/images/illustrations_3.png" alt="">
353
+ </div>
354
+ <div class="us-col-xsm-6 image-tip">
355
+ <img class="us-img--full" src="/images/illustrations_4.png" alt="">
356
+ <img class="us-img--full" src="/images/illustrations_5.png" alt="">
357
+ <img class="us-img--full" src="/images/illustrations_6.png" alt="">
358
+ </div>
359
+ <div class="image-tip image-tip__reason us-col-xsm-12">
360
+ <p class="image-example-reason">
361
+ <strong class="us-color--green">Do</strong><br />
362
+ Illustrations are simple, geometric and consist primarily of brand colours (or shade/tones of brand colours).
363
+ </p>
364
+ </div>
365
+ </div>
366
+ </div>
367
+ </div>
@@ -0,0 +1,68 @@
1
+ Typography is a key element of how we communicate at uSwitch. We've recently revised our type settings and removed Open Sans from our fonts to increase legibility across devices.
2
+
3
+ We have chosen to use system fonts across the website for multiple reasons:
4
+
5
+ * Improved legibility in operating systems
6
+ * No performance overhead in loading custom fonts
7
+ * Users are accustomed to their operating system fonts
8
+
9
+ Depending on the operating system you are on, you will get one of the following fonts:
10
+
11
+ <table class="pure-table pure-table-bordered">
12
+ <thead>
13
+ <tr class="header">
14
+ <th>Font</th>
15
+ <th>Device Targeted</th>
16
+ </tr>
17
+ </thead>
18
+ <tbody>
19
+ <tr class="odd">
20
+ <td>-apple-system (San Francisco)</td>
21
+ <td>iOS Safari, macOS Safari, macOS Firefox</td>
22
+ </tr>
23
+ <tr class="even">
24
+ <td>BlinkMacSystemFont (San Francisco)</td>
25
+ <td>macOS Chrome</td>
26
+ </tr>
27
+ <tr class="odd">
28
+ <td>Segoe UI</td>
29
+ <td>Windows</td>
30
+ </tr>
31
+ <tr class="even">
32
+ <td>Roboto</td>
33
+ <td>Android, Chrome OS</td>
34
+ </tr>
35
+ <tr class="odd">
36
+ <td>Oxygen / Oxygen-Sans</td>
37
+ <td>KDE</td>
38
+ </tr>
39
+ <tr class="even">
40
+ <td>Fira Sans</td>
41
+ <td>Firefox OS</td>
42
+ </tr>
43
+ <tr class="odd">
44
+ <td>Droid Sans</td>
45
+ <td>Older versions of Android</td>
46
+ </tr>
47
+ <tr class="even">
48
+ <td>Ubuntu</td>
49
+ <td>Ubuntu</td>
50
+ </tr>
51
+ <tr class="odd">
52
+ <td>Cantarell</td>
53
+ <td>GNOME</td>
54
+ </tr>
55
+ <tr class="even">
56
+ <td>Helvetica Neue</td>
57
+ <td>macOS versions &lt; 10.11</td>
58
+ </tr>
59
+ <tr class="odd">
60
+ <td>Arial</td>
61
+ <td>Any</td>
62
+ </tr>
63
+ <tr class="even">
64
+ <td>sans-serif</td>
65
+ <td>Any</td>
66
+ </tr>
67
+ </tbody>
68
+ </table>