uswds-jekyll 5.3.0 → 5.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1619) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -6
  3. data/_includes/scripts.html +17 -0
  4. data/_sass/uswds/src/base/_body.scss +1 -2
  5. data/_sass/uswds/src/components/_accordions.scss +4 -4
  6. data/_sass/uswds/src/components/_alerts.scss +14 -49
  7. data/_sass/uswds/src/components/_banner.scss +22 -7
  8. data/_sass/uswds/src/components/_breadcrumb.scss +48 -22
  9. data/_sass/uswds/src/components/_collection.scss +108 -0
  10. data/_sass/uswds/src/components/_footer.scss +15 -10
  11. data/_sass/uswds/src/components/_forms.scss +26 -4
  12. data/_sass/uswds/src/components/_header.scss +7 -0
  13. data/_sass/uswds/src/components/_icon.scss +25 -0
  14. data/_sass/uswds/src/components/_identifier.scss +22 -5
  15. data/_sass/uswds/src/components/_navigation.scss +14 -11
  16. data/_sass/uswds/src/components/_process-list.scss +106 -0
  17. data/_sass/uswds/src/components/_search.scss +2 -2
  18. data/_sass/uswds/src/components/_site-alert.scss +77 -0
  19. data/_sass/uswds/src/components/_skipnav.scss +2 -1
  20. data/_sass/uswds/src/components/_summary-box.scss +67 -0
  21. data/_sass/uswds/src/core/_functions.scss +740 -328
  22. data/_sass/uswds/src/core/_notifications.scss +14 -1
  23. data/_sass/uswds/src/core/_properties.scss +1 -1
  24. data/_sass/uswds/src/core/_system-tokens.scss +71 -36
  25. data/_sass/uswds/src/core/_variables.scss +37 -1
  26. data/_sass/uswds/src/core/mixins/_add-success-mark.scss +2 -2
  27. data/_sass/uswds/src/core/mixins/_alert-slim-styles.scss +15 -0
  28. data/_sass/uswds/src/core/mixins/_alert-status-styles.scss +40 -0
  29. data/_sass/uswds/src/core/mixins/_all.scss +2 -0
  30. data/_sass/uswds/src/core/mixins/_external-link.scss +1 -1
  31. data/_sass/uswds/src/core/mixins/_icon.scss +2 -2
  32. data/_sass/uswds/src/core/mixins/_nav-list.scss +4 -4
  33. data/_sass/uswds/src/core/mixins/_screen-reader.scss +2 -0
  34. data/_sass/uswds/src/core/mixins/_set-link-from-bg.scss +15 -10
  35. data/_sass/uswds/src/core/mixins/_set-text-from-bg.scss +17 -11
  36. data/_sass/uswds/src/core/mixins/_typography.scss +4 -4
  37. data/_sass/uswds/src/core/mixins/_usa-table-styles.scss +28 -0
  38. data/_sass/uswds/src/core/placeholders/_table.scss +117 -11
  39. data/_sass/uswds/src/elements/_buttons.scss +22 -17
  40. data/_sass/uswds/src/elements/_table.scss +35 -0
  41. data/_sass/uswds/src/elements/form-controls/_checkbox-and-radio.scss +25 -0
  42. data/_sass/uswds/src/elements/form-controls/_combo-box.scss +6 -5
  43. data/_sass/uswds/src/elements/form-controls/_date-picker.scss +8 -8
  44. data/_sass/uswds/src/elements/form-controls/_dropdown.scss +3 -3
  45. data/_sass/uswds/src/elements/form-controls/_file-input.scss +1 -1
  46. data/_sass/uswds/src/elements/form-controls/_global.scss +7 -1
  47. data/_sass/uswds/src/elements/typography/_content.scss +4 -0
  48. data/_sass/uswds/src/elements/typography/_links.scss +8 -2
  49. data/_sass/uswds/src/packages/_usa-collection.scss +2 -0
  50. data/_sass/uswds/src/packages/_usa-icon.scss +1 -0
  51. data/_sass/uswds/src/packages/_usa-site-alert.scss +5 -0
  52. data/_sass/uswds/src/packages/_uswds-components.scss +5 -0
  53. data/_sass/uswds/src/settings/_settings-color.scss +12 -1
  54. data/_sass/uswds/src/settings/_settings-components.scss +56 -4
  55. data/_sass/uswds/src/settings/_settings-general.scss +1 -1
  56. data/_sass/uswds/src/settings/_settings-spacing.scss +1 -1
  57. data/_sass/uswds/src/settings/_settings-typography.scss +1 -1
  58. data/_sass/uswds/src/settings/_settings-utilities.scss +1 -1
  59. data/_sass/uswds/src/theme/_uswds-theme-color.scss +12 -1
  60. data/_sass/uswds/src/theme/_uswds-theme-components.scss +56 -4
  61. data/_sass/uswds/src/theme/_uswds-theme-general.scss +1 -1
  62. data/_sass/uswds/src/theme/_uswds-theme-spacing.scss +1 -1
  63. data/_sass/uswds/src/theme/_uswds-theme-typography.scss +2 -2
  64. data/_sass/uswds/src/theme/_uswds-theme-utilities.scss +1 -1
  65. data/assets/uswds/img/alerts/emergency.svg +4 -0
  66. data/assets/uswds/img/alerts/error-white.svg +1 -0
  67. data/assets/uswds/img/social-icons/instagram25.png +0 -0
  68. data/assets/uswds/img/social-icons/instagram25.svg +1 -0
  69. data/assets/uswds/img/sprite.svg +1 -0
  70. data/assets/uswds/img/usa-icons-bg/check--blue-60v.svg +1 -0
  71. data/assets/uswds/img/usa-icons-bg/expand_less--white.svg +1 -0
  72. data/assets/uswds/img/usa-icons-bg/expand_more--blue-warm-70v.svg +1 -0
  73. data/assets/uswds/img/usa-icons-bg/launch--blue-60v.svg +1 -0
  74. data/assets/uswds/img/usa-icons-bg/launch--blue-70v.svg +1 -0
  75. data/assets/uswds/img/usa-icons-bg/launch--gray-5.svg +1 -0
  76. data/assets/uswds/img/usa-icons-bg/launch--white.svg +1 -0
  77. data/assets/uswds/img/usa-icons-bg/search--white.svg +1 -0
  78. data/assets/uswds/img/usa-icons-unused/10k.svg +1 -0
  79. data/assets/uswds/img/usa-icons-unused/10mp.svg +1 -0
  80. data/assets/uswds/img/usa-icons-unused/11mp.svg +1 -0
  81. data/assets/uswds/img/usa-icons-unused/12mp.svg +1 -0
  82. data/assets/uswds/img/usa-icons-unused/13mp.svg +1 -0
  83. data/assets/uswds/img/usa-icons-unused/14mp.svg +1 -0
  84. data/assets/uswds/img/usa-icons-unused/15mp.svg +1 -0
  85. data/assets/uswds/img/usa-icons-unused/16mp.svg +1 -0
  86. data/assets/uswds/img/usa-icons-unused/17mp.svg +1 -0
  87. data/assets/uswds/img/usa-icons-unused/18mp.svg +1 -0
  88. data/assets/uswds/img/usa-icons-unused/19mp.svg +1 -0
  89. data/assets/uswds/img/usa-icons-unused/1k.svg +1 -0
  90. data/assets/uswds/img/usa-icons-unused/1k_plus.svg +1 -0
  91. data/assets/uswds/img/usa-icons-unused/20mp.svg +1 -0
  92. data/assets/uswds/img/usa-icons-unused/21mp.svg +1 -0
  93. data/assets/uswds/img/usa-icons-unused/22mp.svg +1 -0
  94. data/assets/uswds/img/usa-icons-unused/23mp.svg +1 -0
  95. data/assets/uswds/img/usa-icons-unused/24mp.svg +1 -0
  96. data/assets/uswds/img/usa-icons-unused/2k.svg +1 -0
  97. data/assets/uswds/img/usa-icons-unused/2k_plus.svg +1 -0
  98. data/assets/uswds/img/usa-icons-unused/2mp.svg +1 -0
  99. data/assets/uswds/img/usa-icons-unused/360.svg +1 -0
  100. data/assets/uswds/img/usa-icons-unused/3d_rotation.svg +1 -0
  101. data/assets/uswds/img/usa-icons-unused/3k.svg +1 -0
  102. data/assets/uswds/img/usa-icons-unused/3k_plus.svg +1 -0
  103. data/assets/uswds/img/usa-icons-unused/3mp.svg +1 -0
  104. data/assets/uswds/img/usa-icons-unused/4k.svg +1 -0
  105. data/assets/uswds/img/usa-icons-unused/4k_plus.svg +1 -0
  106. data/assets/uswds/img/usa-icons-unused/4mp.svg +1 -0
  107. data/assets/uswds/img/usa-icons-unused/5g.svg +1 -0
  108. data/assets/uswds/img/usa-icons-unused/5k.svg +1 -0
  109. data/assets/uswds/img/usa-icons-unused/5k_plus.svg +1 -0
  110. data/assets/uswds/img/usa-icons-unused/5mp.svg +1 -0
  111. data/assets/uswds/img/usa-icons-unused/6_ft_apart.svg +1 -0
  112. data/assets/uswds/img/usa-icons-unused/6k.svg +1 -0
  113. data/assets/uswds/img/usa-icons-unused/6k_plus.svg +1 -0
  114. data/assets/uswds/img/usa-icons-unused/6mp.svg +1 -0
  115. data/assets/uswds/img/usa-icons-unused/7k.svg +1 -0
  116. data/assets/uswds/img/usa-icons-unused/7k_plus.svg +1 -0
  117. data/assets/uswds/img/usa-icons-unused/7mp.svg +1 -0
  118. data/assets/uswds/img/usa-icons-unused/8k.svg +1 -0
  119. data/assets/uswds/img/usa-icons-unused/8k_plus.svg +1 -0
  120. data/assets/uswds/img/usa-icons-unused/8mp.svg +1 -0
  121. data/assets/uswds/img/usa-icons-unused/9k.svg +1 -0
  122. data/assets/uswds/img/usa-icons-unused/9k_plus.svg +1 -0
  123. data/assets/uswds/img/usa-icons-unused/9mp.svg +1 -0
  124. data/assets/uswds/img/usa-icons-unused/ac_unit.svg +1 -0
  125. data/assets/uswds/img/usa-icons-unused/access_alarm.svg +1 -0
  126. data/assets/uswds/img/usa-icons-unused/access_alarms.svg +1 -0
  127. data/assets/uswds/img/usa-icons-unused/access_time.svg +1 -0
  128. data/assets/uswds/img/usa-icons-unused/accessibility.svg +1 -0
  129. data/assets/uswds/img/usa-icons-unused/accessible.svg +1 -0
  130. data/assets/uswds/img/usa-icons-unused/account_balance_wallet.svg +1 -0
  131. data/assets/uswds/img/usa-icons-unused/account_tree.svg +1 -0
  132. data/assets/uswds/img/usa-icons-unused/ad_units.svg +1 -0
  133. data/assets/uswds/img/usa-icons-unused/adb.svg +1 -0
  134. data/assets/uswds/img/usa-icons-unused/add_a_photo.svg +1 -0
  135. data/assets/uswds/img/usa-icons-unused/add_alarm.svg +1 -0
  136. data/assets/uswds/img/usa-icons-unused/add_alert.svg +1 -0
  137. data/assets/uswds/img/usa-icons-unused/add_box.svg +1 -0
  138. data/assets/uswds/img/usa-icons-unused/add_business.svg +1 -0
  139. data/assets/uswds/img/usa-icons-unused/add_call.svg +1 -0
  140. data/assets/uswds/img/usa-icons-unused/add_chart.svg +1 -0
  141. data/assets/uswds/img/usa-icons-unused/add_comment.svg +1 -0
  142. data/assets/uswds/img/usa-icons-unused/add_ic_call.svg +1 -0
  143. data/assets/uswds/img/usa-icons-unused/add_link.svg +1 -0
  144. data/assets/uswds/img/usa-icons-unused/add_location.svg +1 -0
  145. data/assets/uswds/img/usa-icons-unused/add_location_alt.svg +1 -0
  146. data/assets/uswds/img/usa-icons-unused/add_moderator.svg +1 -0
  147. data/assets/uswds/img/usa-icons-unused/add_photo_alternate.svg +1 -0
  148. data/assets/uswds/img/usa-icons-unused/add_road.svg +1 -0
  149. data/assets/uswds/img/usa-icons-unused/add_shopping_cart.svg +1 -0
  150. data/assets/uswds/img/usa-icons-unused/add_task.svg +1 -0
  151. data/assets/uswds/img/usa-icons-unused/add_to_drive.svg +1 -0
  152. data/assets/uswds/img/usa-icons-unused/add_to_home_screen.svg +1 -0
  153. data/assets/uswds/img/usa-icons-unused/add_to_photos.svg +1 -0
  154. data/assets/uswds/img/usa-icons-unused/add_to_queue.svg +1 -0
  155. data/assets/uswds/img/usa-icons-unused/addchart.svg +1 -0
  156. data/assets/uswds/img/usa-icons-unused/adjust.svg +1 -0
  157. data/assets/uswds/img/usa-icons-unused/admin_panel_settings.svg +1 -0
  158. data/assets/uswds/img/usa-icons-unused/agriculture.svg +1 -0
  159. data/assets/uswds/img/usa-icons-unused/airline_seat_flat.svg +1 -0
  160. data/assets/uswds/img/usa-icons-unused/airline_seat_flat_angled.svg +1 -0
  161. data/assets/uswds/img/usa-icons-unused/airline_seat_individual_suite.svg +1 -0
  162. data/assets/uswds/img/usa-icons-unused/airline_seat_legroom_extra.svg +1 -0
  163. data/assets/uswds/img/usa-icons-unused/airline_seat_legroom_normal.svg +1 -0
  164. data/assets/uswds/img/usa-icons-unused/airline_seat_legroom_reduced.svg +1 -0
  165. data/assets/uswds/img/usa-icons-unused/airline_seat_recline_extra.svg +1 -0
  166. data/assets/uswds/img/usa-icons-unused/airline_seat_recline_normal.svg +1 -0
  167. data/assets/uswds/img/usa-icons-unused/airplanemode_active.svg +1 -0
  168. data/assets/uswds/img/usa-icons-unused/airplanemode_inactive.svg +1 -0
  169. data/assets/uswds/img/usa-icons-unused/airplay.svg +1 -0
  170. data/assets/uswds/img/usa-icons-unused/airport_shuttle.svg +1 -0
  171. data/assets/uswds/img/usa-icons-unused/alarm_add.svg +1 -0
  172. data/assets/uswds/img/usa-icons-unused/alarm_off.svg +1 -0
  173. data/assets/uswds/img/usa-icons-unused/alarm_on.svg +1 -0
  174. data/assets/uswds/img/usa-icons-unused/album.svg +1 -0
  175. data/assets/uswds/img/usa-icons-unused/align_horizontal_center.svg +1 -0
  176. data/assets/uswds/img/usa-icons-unused/align_horizontal_left.svg +1 -0
  177. data/assets/uswds/img/usa-icons-unused/align_horizontal_right.svg +1 -0
  178. data/assets/uswds/img/usa-icons-unused/align_vertical_bottom.svg +1 -0
  179. data/assets/uswds/img/usa-icons-unused/align_vertical_center.svg +1 -0
  180. data/assets/uswds/img/usa-icons-unused/align_vertical_top.svg +1 -0
  181. data/assets/uswds/img/usa-icons-unused/all_inbox.svg +1 -0
  182. data/assets/uswds/img/usa-icons-unused/all_inclusive.svg +1 -0
  183. data/assets/uswds/img/usa-icons-unused/all_out.svg +1 -0
  184. data/assets/uswds/img/usa-icons-unused/alt_route.svg +1 -0
  185. data/assets/uswds/img/usa-icons-unused/amp_stories.svg +1 -0
  186. data/assets/uswds/img/usa-icons-unused/analytics.svg +1 -0
  187. data/assets/uswds/img/usa-icons-unused/anchor.svg +1 -0
  188. data/assets/uswds/img/usa-icons-unused/android.svg +1 -0
  189. data/assets/uswds/img/usa-icons-unused/animation.svg +1 -0
  190. data/assets/uswds/img/usa-icons-unused/apartment.svg +1 -0
  191. data/assets/uswds/img/usa-icons-unused/app_blocking.svg +1 -0
  192. data/assets/uswds/img/usa-icons-unused/app_registration.svg +1 -0
  193. data/assets/uswds/img/usa-icons-unused/app_settings_alt.svg +1 -0
  194. data/assets/uswds/img/usa-icons-unused/approval.svg +1 -0
  195. data/assets/uswds/img/usa-icons-unused/apps.svg +1 -0
  196. data/assets/uswds/img/usa-icons-unused/architecture.svg +1 -0
  197. data/assets/uswds/img/usa-icons-unused/archive.svg +1 -0
  198. data/assets/uswds/img/usa-icons-unused/arrow_back_ios.svg +1 -0
  199. data/assets/uswds/img/usa-icons-unused/arrow_circle_down.svg +1 -0
  200. data/assets/uswds/img/usa-icons-unused/arrow_circle_up.svg +1 -0
  201. data/assets/uswds/img/usa-icons-unused/arrow_drop_down_circle.svg +1 -0
  202. data/assets/uswds/img/usa-icons-unused/arrow_forward_ios.svg +1 -0
  203. data/assets/uswds/img/usa-icons-unused/arrow_left.svg +1 -0
  204. data/assets/uswds/img/usa-icons-unused/arrow_right.svg +1 -0
  205. data/assets/uswds/img/usa-icons-unused/arrow_right_alt.svg +1 -0
  206. data/assets/uswds/img/usa-icons-unused/art_track.svg +1 -0
  207. data/assets/uswds/img/usa-icons-unused/article.svg +1 -0
  208. data/assets/uswds/img/usa-icons-unused/aspect_ratio.svg +1 -0
  209. data/assets/uswds/img/usa-icons-unused/assignment.svg +1 -0
  210. data/assets/uswds/img/usa-icons-unused/assignment_ind.svg +1 -0
  211. data/assets/uswds/img/usa-icons-unused/assignment_late.svg +1 -0
  212. data/assets/uswds/img/usa-icons-unused/assignment_return.svg +1 -0
  213. data/assets/uswds/img/usa-icons-unused/assignment_returned.svg +1 -0
  214. data/assets/uswds/img/usa-icons-unused/assignment_turned_in.svg +1 -0
  215. data/assets/uswds/img/usa-icons-unused/assistant.svg +1 -0
  216. data/assets/uswds/img/usa-icons-unused/assistant_direction.svg +1 -0
  217. data/assets/uswds/img/usa-icons-unused/assistant_navigation.svg +1 -0
  218. data/assets/uswds/img/usa-icons-unused/assistant_photo.svg +1 -0
  219. data/assets/uswds/img/usa-icons-unused/atm.svg +1 -0
  220. data/assets/uswds/img/usa-icons-unused/attach_email.svg +1 -0
  221. data/assets/uswds/img/usa-icons-unused/attachment.svg +1 -0
  222. data/assets/uswds/img/usa-icons-unused/attractions.svg +1 -0
  223. data/assets/uswds/img/usa-icons-unused/audiotrack.svg +1 -0
  224. data/assets/uswds/img/usa-icons-unused/auto_awesome.svg +1 -0
  225. data/assets/uswds/img/usa-icons-unused/auto_awesome_mosaic.svg +1 -0
  226. data/assets/uswds/img/usa-icons-unused/auto_awesome_motion.svg +1 -0
  227. data/assets/uswds/img/usa-icons-unused/auto_delete.svg +1 -0
  228. data/assets/uswds/img/usa-icons-unused/auto_fix_high.svg +1 -0
  229. data/assets/uswds/img/usa-icons-unused/auto_fix_normal.svg +1 -0
  230. data/assets/uswds/img/usa-icons-unused/auto_fix_off.svg +1 -0
  231. data/assets/uswds/img/usa-icons-unused/auto_stories.svg +1 -0
  232. data/assets/uswds/img/usa-icons-unused/av_timer.svg +1 -0
  233. data/assets/uswds/img/usa-icons-unused/baby_changing_station.svg +1 -0
  234. data/assets/uswds/img/usa-icons-unused/backspace.svg +1 -0
  235. data/assets/uswds/img/usa-icons-unused/backup.svg +1 -0
  236. data/assets/uswds/img/usa-icons-unused/backup_table.svg +1 -0
  237. data/assets/uswds/img/usa-icons-unused/badge.svg +1 -0
  238. data/assets/uswds/img/usa-icons-unused/bakery_dining.svg +1 -0
  239. data/assets/uswds/img/usa-icons-unused/ballot.svg +1 -0
  240. data/assets/uswds/img/usa-icons-unused/bar_chart.svg +1 -0
  241. data/assets/uswds/img/usa-icons-unused/batch_prediction.svg +1 -0
  242. data/assets/uswds/img/usa-icons-unused/battery_alert.svg +1 -0
  243. data/assets/uswds/img/usa-icons-unused/battery_charging_full.svg +1 -0
  244. data/assets/uswds/img/usa-icons-unused/battery_full.svg +1 -0
  245. data/assets/uswds/img/usa-icons-unused/battery_std.svg +1 -0
  246. data/assets/uswds/img/usa-icons-unused/battery_unknown.svg +1 -0
  247. data/assets/uswds/img/usa-icons-unused/beach_access.svg +1 -0
  248. data/assets/uswds/img/usa-icons-unused/bedtime.svg +1 -0
  249. data/assets/uswds/img/usa-icons-unused/beenhere.svg +1 -0
  250. data/assets/uswds/img/usa-icons-unused/bento.svg +1 -0
  251. data/assets/uswds/img/usa-icons-unused/bike_scooter.svg +1 -0
  252. data/assets/uswds/img/usa-icons-unused/biotech.svg +1 -0
  253. data/assets/uswds/img/usa-icons-unused/block.svg +1 -0
  254. data/assets/uswds/img/usa-icons-unused/block_flipped.svg +1 -0
  255. data/assets/uswds/img/usa-icons-unused/bluetooth.svg +1 -0
  256. data/assets/uswds/img/usa-icons-unused/bluetooth_audio.svg +1 -0
  257. data/assets/uswds/img/usa-icons-unused/bluetooth_connected.svg +1 -0
  258. data/assets/uswds/img/usa-icons-unused/bluetooth_disabled.svg +1 -0
  259. data/assets/uswds/img/usa-icons-unused/bluetooth_searching.svg +1 -0
  260. data/assets/uswds/img/usa-icons-unused/blur_circular.svg +1 -0
  261. data/assets/uswds/img/usa-icons-unused/blur_linear.svg +1 -0
  262. data/assets/uswds/img/usa-icons-unused/blur_off.svg +1 -0
  263. data/assets/uswds/img/usa-icons-unused/blur_on.svg +1 -0
  264. data/assets/uswds/img/usa-icons-unused/bolt.svg +1 -0
  265. data/assets/uswds/img/usa-icons-unused/book.svg +1 -0
  266. data/assets/uswds/img/usa-icons-unused/book_online.svg +1 -0
  267. data/assets/uswds/img/usa-icons-unused/bookmark_border.svg +1 -0
  268. data/assets/uswds/img/usa-icons-unused/bookmarks.svg +1 -0
  269. data/assets/uswds/img/usa-icons-unused/border_all.svg +1 -0
  270. data/assets/uswds/img/usa-icons-unused/border_bottom.svg +1 -0
  271. data/assets/uswds/img/usa-icons-unused/border_clear.svg +1 -0
  272. data/assets/uswds/img/usa-icons-unused/border_color.svg +1 -0
  273. data/assets/uswds/img/usa-icons-unused/border_horizontal.svg +1 -0
  274. data/assets/uswds/img/usa-icons-unused/border_inner.svg +1 -0
  275. data/assets/uswds/img/usa-icons-unused/border_left.svg +1 -0
  276. data/assets/uswds/img/usa-icons-unused/border_outer.svg +1 -0
  277. data/assets/uswds/img/usa-icons-unused/border_right.svg +1 -0
  278. data/assets/uswds/img/usa-icons-unused/border_style.svg +1 -0
  279. data/assets/uswds/img/usa-icons-unused/border_top.svg +1 -0
  280. data/assets/uswds/img/usa-icons-unused/border_vertical.svg +1 -0
  281. data/assets/uswds/img/usa-icons-unused/branding_watermark.svg +1 -0
  282. data/assets/uswds/img/usa-icons-unused/breakfast_dining.svg +1 -0
  283. data/assets/uswds/img/usa-icons-unused/brightness_1.svg +1 -0
  284. data/assets/uswds/img/usa-icons-unused/brightness_2.svg +1 -0
  285. data/assets/uswds/img/usa-icons-unused/brightness_3.svg +1 -0
  286. data/assets/uswds/img/usa-icons-unused/brightness_4.svg +1 -0
  287. data/assets/uswds/img/usa-icons-unused/brightness_5.svg +1 -0
  288. data/assets/uswds/img/usa-icons-unused/brightness_6.svg +1 -0
  289. data/assets/uswds/img/usa-icons-unused/brightness_7.svg +1 -0
  290. data/assets/uswds/img/usa-icons-unused/brightness_auto.svg +1 -0
  291. data/assets/uswds/img/usa-icons-unused/brightness_high.svg +1 -0
  292. data/assets/uswds/img/usa-icons-unused/brightness_low.svg +1 -0
  293. data/assets/uswds/img/usa-icons-unused/brightness_medium.svg +1 -0
  294. data/assets/uswds/img/usa-icons-unused/broken_image.svg +1 -0
  295. data/assets/uswds/img/usa-icons-unused/browser_not_supported.svg +1 -0
  296. data/assets/uswds/img/usa-icons-unused/brunch_dining.svg +1 -0
  297. data/assets/uswds/img/usa-icons-unused/brush.svg +1 -0
  298. data/assets/uswds/img/usa-icons-unused/bubble_chart.svg +1 -0
  299. data/assets/uswds/img/usa-icons-unused/build_circle.svg +1 -0
  300. data/assets/uswds/img/usa-icons-unused/burst_mode.svg +1 -0
  301. data/assets/uswds/img/usa-icons-unused/bus_alert.svg +1 -0
  302. data/assets/uswds/img/usa-icons-unused/business.svg +1 -0
  303. data/assets/uswds/img/usa-icons-unused/business_center.svg +1 -0
  304. data/assets/uswds/img/usa-icons-unused/cached.svg +1 -0
  305. data/assets/uswds/img/usa-icons-unused/cake.svg +1 -0
  306. data/assets/uswds/img/usa-icons-unused/calculate.svg +1 -0
  307. data/assets/uswds/img/usa-icons-unused/calendar_view_day.svg +1 -0
  308. data/assets/uswds/img/usa-icons-unused/call.svg +1 -0
  309. data/assets/uswds/img/usa-icons-unused/call_end.svg +1 -0
  310. data/assets/uswds/img/usa-icons-unused/call_made.svg +1 -0
  311. data/assets/uswds/img/usa-icons-unused/call_merge.svg +1 -0
  312. data/assets/uswds/img/usa-icons-unused/call_missed.svg +1 -0
  313. data/assets/uswds/img/usa-icons-unused/call_missed_outgoing.svg +1 -0
  314. data/assets/uswds/img/usa-icons-unused/call_received.svg +1 -0
  315. data/assets/uswds/img/usa-icons-unused/call_split.svg +1 -0
  316. data/assets/uswds/img/usa-icons-unused/call_to_action.svg +1 -0
  317. data/assets/uswds/img/usa-icons-unused/camera.svg +1 -0
  318. data/assets/uswds/img/usa-icons-unused/camera_alt.svg +1 -0
  319. data/assets/uswds/img/usa-icons-unused/camera_enhance.svg +1 -0
  320. data/assets/uswds/img/usa-icons-unused/camera_front.svg +1 -0
  321. data/assets/uswds/img/usa-icons-unused/camera_rear.svg +1 -0
  322. data/assets/uswds/img/usa-icons-unused/camera_roll.svg +1 -0
  323. data/assets/uswds/img/usa-icons-unused/cancel_presentation.svg +1 -0
  324. data/assets/uswds/img/usa-icons-unused/cancel_schedule_send.svg +1 -0
  325. data/assets/uswds/img/usa-icons-unused/car_rental.svg +1 -0
  326. data/assets/uswds/img/usa-icons-unused/car_repair.svg +1 -0
  327. data/assets/uswds/img/usa-icons-unused/card_giftcard.svg +1 -0
  328. data/assets/uswds/img/usa-icons-unused/card_membership.svg +1 -0
  329. data/assets/uswds/img/usa-icons-unused/card_travel.svg +1 -0
  330. data/assets/uswds/img/usa-icons-unused/carpenter.svg +1 -0
  331. data/assets/uswds/img/usa-icons-unused/cases.svg +1 -0
  332. data/assets/uswds/img/usa-icons-unused/casino.svg +1 -0
  333. data/assets/uswds/img/usa-icons-unused/cast.svg +1 -0
  334. data/assets/uswds/img/usa-icons-unused/cast_connected.svg +1 -0
  335. data/assets/uswds/img/usa-icons-unused/cast_for_education.svg +1 -0
  336. data/assets/uswds/img/usa-icons-unused/category.svg +1 -0
  337. data/assets/uswds/img/usa-icons-unused/celebration.svg +1 -0
  338. data/assets/uswds/img/usa-icons-unused/cell_wifi.svg +1 -0
  339. data/assets/uswds/img/usa-icons-unused/center_focus_strong.svg +1 -0
  340. data/assets/uswds/img/usa-icons-unused/center_focus_weak.svg +1 -0
  341. data/assets/uswds/img/usa-icons-unused/change_history.svg +1 -0
  342. data/assets/uswds/img/usa-icons-unused/charging_station.svg +1 -0
  343. data/assets/uswds/img/usa-icons-unused/chat_bubble.svg +1 -0
  344. data/assets/uswds/img/usa-icons-unused/chat_bubble_outline.svg +1 -0
  345. data/assets/uswds/img/usa-icons-unused/check_box.svg +1 -0
  346. data/assets/uswds/img/usa-icons-unused/child_care.svg +1 -0
  347. data/assets/uswds/img/usa-icons-unused/child_friendly.svg +1 -0
  348. data/assets/uswds/img/usa-icons-unused/chrome_reader_mode.svg +1 -0
  349. data/assets/uswds/img/usa-icons-unused/circle.svg +1 -0
  350. data/assets/uswds/img/usa-icons-unused/circle_notifications.svg +1 -0
  351. data/assets/uswds/img/usa-icons-unused/class.svg +1 -0
  352. data/assets/uswds/img/usa-icons-unused/cleaning_services.svg +1 -0
  353. data/assets/uswds/img/usa-icons-unused/clear.svg +1 -0
  354. data/assets/uswds/img/usa-icons-unused/clear_all.svg +1 -0
  355. data/assets/uswds/img/usa-icons-unused/close_fullscreen.svg +1 -0
  356. data/assets/uswds/img/usa-icons-unused/closed_caption_disabled.svg +1 -0
  357. data/assets/uswds/img/usa-icons-unused/closed_caption_off.svg +1 -0
  358. data/assets/uswds/img/usa-icons-unused/cloud_circle.svg +1 -0
  359. data/assets/uswds/img/usa-icons-unused/cloud_done.svg +1 -0
  360. data/assets/uswds/img/usa-icons-unused/cloud_download.svg +1 -0
  361. data/assets/uswds/img/usa-icons-unused/cloud_off.svg +1 -0
  362. data/assets/uswds/img/usa-icons-unused/cloud_queue.svg +1 -0
  363. data/assets/uswds/img/usa-icons-unused/cloud_upload.svg +1 -0
  364. data/assets/uswds/img/usa-icons-unused/collections.svg +1 -0
  365. data/assets/uswds/img/usa-icons-unused/collections_bookmark.svg +1 -0
  366. data/assets/uswds/img/usa-icons-unused/color_lens.svg +1 -0
  367. data/assets/uswds/img/usa-icons-unused/colorize.svg +1 -0
  368. data/assets/uswds/img/usa-icons-unused/comment_bank.svg +1 -0
  369. data/assets/uswds/img/usa-icons-unused/commute.svg +1 -0
  370. data/assets/uswds/img/usa-icons-unused/compare.svg +1 -0
  371. data/assets/uswds/img/usa-icons-unused/compare_arrows.svg +1 -0
  372. data/assets/uswds/img/usa-icons-unused/compass_calibration.svg +1 -0
  373. data/assets/uswds/img/usa-icons-unused/compress.svg +1 -0
  374. data/assets/uswds/img/usa-icons-unused/computer.svg +1 -0
  375. data/assets/uswds/img/usa-icons-unused/confirmation_number.svg +1 -0
  376. data/assets/uswds/img/usa-icons-unused/connected_tv.svg +1 -0
  377. data/assets/uswds/img/usa-icons-unused/contact_mail.svg +1 -0
  378. data/assets/uswds/img/usa-icons-unused/contact_phone.svg +1 -0
  379. data/assets/uswds/img/usa-icons-unused/contact_support.svg +1 -0
  380. data/assets/uswds/img/usa-icons-unused/contactless.svg +1 -0
  381. data/assets/uswds/img/usa-icons-unused/contacts.svg +1 -0
  382. data/assets/uswds/img/usa-icons-unused/content_cut.svg +1 -0
  383. data/assets/uswds/img/usa-icons-unused/content_paste.svg +1 -0
  384. data/assets/uswds/img/usa-icons-unused/control_camera.svg +1 -0
  385. data/assets/uswds/img/usa-icons-unused/control_point.svg +1 -0
  386. data/assets/uswds/img/usa-icons-unused/control_point_duplicate.svg +1 -0
  387. data/assets/uswds/img/usa-icons-unused/copyright.svg +1 -0
  388. data/assets/uswds/img/usa-icons-unused/corporate_fare.svg +1 -0
  389. data/assets/uswds/img/usa-icons-unused/countertops.svg +1 -0
  390. data/assets/uswds/img/usa-icons-unused/create.svg +1 -0
  391. data/assets/uswds/img/usa-icons-unused/create_new_folder.svg +1 -0
  392. data/assets/uswds/img/usa-icons-unused/crop.svg +1 -0
  393. data/assets/uswds/img/usa-icons-unused/crop_16_9.svg +1 -0
  394. data/assets/uswds/img/usa-icons-unused/crop_3_2.svg +1 -0
  395. data/assets/uswds/img/usa-icons-unused/crop_5_4.svg +1 -0
  396. data/assets/uswds/img/usa-icons-unused/crop_7_5.svg +1 -0
  397. data/assets/uswds/img/usa-icons-unused/crop_din.svg +1 -0
  398. data/assets/uswds/img/usa-icons-unused/crop_free.svg +1 -0
  399. data/assets/uswds/img/usa-icons-unused/crop_landscape.svg +1 -0
  400. data/assets/uswds/img/usa-icons-unused/crop_original.svg +1 -0
  401. data/assets/uswds/img/usa-icons-unused/crop_portrait.svg +1 -0
  402. data/assets/uswds/img/usa-icons-unused/crop_rotate.svg +1 -0
  403. data/assets/uswds/img/usa-icons-unused/crop_square.svg +1 -0
  404. data/assets/uswds/img/usa-icons-unused/dangerous.svg +1 -0
  405. data/assets/uswds/img/usa-icons-unused/dashboard.svg +1 -0
  406. data/assets/uswds/img/usa-icons-unused/dashboard_customize.svg +1 -0
  407. data/assets/uswds/img/usa-icons-unused/data_usage.svg +1 -0
  408. data/assets/uswds/img/usa-icons-unused/date_range.svg +1 -0
  409. data/assets/uswds/img/usa-icons-unused/dehaze.svg +1 -0
  410. data/assets/uswds/img/usa-icons-unused/delete_forever.svg +1 -0
  411. data/assets/uswds/img/usa-icons-unused/delete_outline.svg +1 -0
  412. data/assets/uswds/img/usa-icons-unused/delete_sweep.svg +1 -0
  413. data/assets/uswds/img/usa-icons-unused/delivery_dining.svg +1 -0
  414. data/assets/uswds/img/usa-icons-unused/departure_board.svg +1 -0
  415. data/assets/uswds/img/usa-icons-unused/description.svg +1 -0
  416. data/assets/uswds/img/usa-icons-unused/design_services.svg +1 -0
  417. data/assets/uswds/img/usa-icons-unused/desktop_access_disabled.svg +1 -0
  418. data/assets/uswds/img/usa-icons-unused/desktop_mac.svg +1 -0
  419. data/assets/uswds/img/usa-icons-unused/desktop_windows.svg +1 -0
  420. data/assets/uswds/img/usa-icons-unused/details.svg +1 -0
  421. data/assets/uswds/img/usa-icons-unused/developer_board.svg +1 -0
  422. data/assets/uswds/img/usa-icons-unused/developer_mode.svg +1 -0
  423. data/assets/uswds/img/usa-icons-unused/device_hub.svg +1 -0
  424. data/assets/uswds/img/usa-icons-unused/device_unknown.svg +1 -0
  425. data/assets/uswds/img/usa-icons-unused/devices.svg +1 -0
  426. data/assets/uswds/img/usa-icons-unused/devices_other.svg +1 -0
  427. data/assets/uswds/img/usa-icons-unused/dialer_sip.svg +1 -0
  428. data/assets/uswds/img/usa-icons-unused/dialpad.svg +1 -0
  429. data/assets/uswds/img/usa-icons-unused/dinner_dining.svg +1 -0
  430. data/assets/uswds/img/usa-icons-unused/directions_boat.svg +1 -0
  431. data/assets/uswds/img/usa-icons-unused/directions_off.svg +1 -0
  432. data/assets/uswds/img/usa-icons-unused/directions_railway.svg +1 -0
  433. data/assets/uswds/img/usa-icons-unused/directions_run.svg +1 -0
  434. data/assets/uswds/img/usa-icons-unused/directions_subway.svg +1 -0
  435. data/assets/uswds/img/usa-icons-unused/directions_transit.svg +1 -0
  436. data/assets/uswds/img/usa-icons-unused/dirty_lens.svg +1 -0
  437. data/assets/uswds/img/usa-icons-unused/disabled_by_default.svg +1 -0
  438. data/assets/uswds/img/usa-icons-unused/disc_full.svg +1 -0
  439. data/assets/uswds/img/usa-icons-unused/dns.svg +1 -0
  440. data/assets/uswds/img/usa-icons-unused/do_not_disturb_alt.svg +1 -0
  441. data/assets/uswds/img/usa-icons-unused/do_not_disturb_off.svg +1 -0
  442. data/assets/uswds/img/usa-icons-unused/do_not_disturb_on.svg +1 -0
  443. data/assets/uswds/img/usa-icons-unused/do_not_step.svg +1 -0
  444. data/assets/uswds/img/usa-icons-unused/dock.svg +1 -0
  445. data/assets/uswds/img/usa-icons-unused/domain.svg +1 -0
  446. data/assets/uswds/img/usa-icons-unused/domain_disabled.svg +1 -0
  447. data/assets/uswds/img/usa-icons-unused/domain_verification.svg +1 -0
  448. data/assets/uswds/img/usa-icons-unused/done.svg +1 -0
  449. data/assets/uswds/img/usa-icons-unused/done_all.svg +1 -0
  450. data/assets/uswds/img/usa-icons-unused/done_outline.svg +1 -0
  451. data/assets/uswds/img/usa-icons-unused/donut_large.svg +1 -0
  452. data/assets/uswds/img/usa-icons-unused/donut_small.svg +1 -0
  453. data/assets/uswds/img/usa-icons-unused/double_arrow.svg +1 -0
  454. data/assets/uswds/img/usa-icons-unused/drafts.svg +1 -0
  455. data/assets/uswds/img/usa-icons-unused/drag_indicator.svg +1 -0
  456. data/assets/uswds/img/usa-icons-unused/drive_eta.svg +1 -0
  457. data/assets/uswds/img/usa-icons-unused/drive_file_move.svg +1 -0
  458. data/assets/uswds/img/usa-icons-unused/drive_file_move_outline.svg +1 -0
  459. data/assets/uswds/img/usa-icons-unused/drive_file_rename_outline.svg +1 -0
  460. data/assets/uswds/img/usa-icons-unused/drive_folder_upload.svg +1 -0
  461. data/assets/uswds/img/usa-icons-unused/dry.svg +1 -0
  462. data/assets/uswds/img/usa-icons-unused/dry_cleaning.svg +1 -0
  463. data/assets/uswds/img/usa-icons-unused/duo.svg +1 -0
  464. data/assets/uswds/img/usa-icons-unused/dvr.svg +1 -0
  465. data/assets/uswds/img/usa-icons-unused/dynamic_feed.svg +1 -0
  466. data/assets/uswds/img/usa-icons-unused/dynamic_form.svg +1 -0
  467. data/assets/uswds/img/usa-icons-unused/east.svg +1 -0
  468. data/assets/uswds/img/usa-icons-unused/edit_attributes.svg +1 -0
  469. data/assets/uswds/img/usa-icons-unused/edit_location.svg +1 -0
  470. data/assets/uswds/img/usa-icons-unused/edit_off.svg +1 -0
  471. data/assets/uswds/img/usa-icons-unused/edit_road.svg +1 -0
  472. data/assets/uswds/img/usa-icons-unused/eject.svg +1 -0
  473. data/assets/uswds/img/usa-icons-unused/elderly.svg +1 -0
  474. data/assets/uswds/img/usa-icons-unused/electric_bike.svg +1 -0
  475. data/assets/uswds/img/usa-icons-unused/electric_car.svg +1 -0
  476. data/assets/uswds/img/usa-icons-unused/electric_moped.svg +1 -0
  477. data/assets/uswds/img/usa-icons-unused/electric_rickshaw.svg +1 -0
  478. data/assets/uswds/img/usa-icons-unused/electric_scooter.svg +1 -0
  479. data/assets/uswds/img/usa-icons-unused/elevator.svg +1 -0
  480. data/assets/uswds/img/usa-icons-unused/email.svg +1 -0
  481. data/assets/uswds/img/usa-icons-unused/emoji_emotions.svg +1 -0
  482. data/assets/uswds/img/usa-icons-unused/emoji_flags.svg +1 -0
  483. data/assets/uswds/img/usa-icons-unused/emoji_food_beverage.svg +1 -0
  484. data/assets/uswds/img/usa-icons-unused/emoji_nature.svg +1 -0
  485. data/assets/uswds/img/usa-icons-unused/emoji_objects.svg +1 -0
  486. data/assets/uswds/img/usa-icons-unused/emoji_people.svg +1 -0
  487. data/assets/uswds/img/usa-icons-unused/emoji_symbols.svg +1 -0
  488. data/assets/uswds/img/usa-icons-unused/emoji_transportation.svg +1 -0
  489. data/assets/uswds/img/usa-icons-unused/engineering.svg +1 -0
  490. data/assets/uswds/img/usa-icons-unused/enhanced_encryption.svg +1 -0
  491. data/assets/uswds/img/usa-icons-unused/equalizer.svg +1 -0
  492. data/assets/uswds/img/usa-icons-unused/escalator.svg +1 -0
  493. data/assets/uswds/img/usa-icons-unused/escalator_warning.svg +1 -0
  494. data/assets/uswds/img/usa-icons-unused/euro.svg +1 -0
  495. data/assets/uswds/img/usa-icons-unused/euro_symbol.svg +1 -0
  496. data/assets/uswds/img/usa-icons-unused/ev_station.svg +1 -0
  497. data/assets/uswds/img/usa-icons-unused/event_available.svg +1 -0
  498. data/assets/uswds/img/usa-icons-unused/event_busy.svg +1 -0
  499. data/assets/uswds/img/usa-icons-unused/event_note.svg +1 -0
  500. data/assets/uswds/img/usa-icons-unused/event_seat.svg +1 -0
  501. data/assets/uswds/img/usa-icons-unused/exit_to_app.svg +1 -0
  502. data/assets/uswds/img/usa-icons-unused/expand.svg +1 -0
  503. data/assets/uswds/img/usa-icons-unused/explicit.svg +1 -0
  504. data/assets/uswds/img/usa-icons-unused/explore.svg +1 -0
  505. data/assets/uswds/img/usa-icons-unused/explore_off.svg +1 -0
  506. data/assets/uswds/img/usa-icons-unused/exposure.svg +1 -0
  507. data/assets/uswds/img/usa-icons-unused/exposure_neg_1.svg +1 -0
  508. data/assets/uswds/img/usa-icons-unused/exposure_neg_2.svg +1 -0
  509. data/assets/uswds/img/usa-icons-unused/exposure_plus_1.svg +1 -0
  510. data/assets/uswds/img/usa-icons-unused/exposure_plus_2.svg +1 -0
  511. data/assets/uswds/img/usa-icons-unused/exposure_zero.svg +1 -0
  512. data/assets/uswds/img/usa-icons-unused/extension.svg +1 -0
  513. data/assets/uswds/img/usa-icons-unused/face.svg +1 -0
  514. data/assets/uswds/img/usa-icons-unused/face_retouching_natural.svg +1 -0
  515. data/assets/uswds/img/usa-icons-unused/fact_check.svg +1 -0
  516. data/assets/uswds/img/usa-icons-unused/family_restroom.svg +1 -0
  517. data/assets/uswds/img/usa-icons-unused/fastfood.svg +1 -0
  518. data/assets/uswds/img/usa-icons-unused/featured_play_list.svg +1 -0
  519. data/assets/uswds/img/usa-icons-unused/featured_video.svg +1 -0
  520. data/assets/uswds/img/usa-icons-unused/feedback.svg +1 -0
  521. data/assets/uswds/img/usa-icons-unused/fence.svg +1 -0
  522. data/assets/uswds/img/usa-icons-unused/festival.svg +1 -0
  523. data/assets/uswds/img/usa-icons-unused/fiber_dvr.svg +1 -0
  524. data/assets/uswds/img/usa-icons-unused/fiber_manual_record.svg +1 -0
  525. data/assets/uswds/img/usa-icons-unused/fiber_new.svg +1 -0
  526. data/assets/uswds/img/usa-icons-unused/fiber_pin.svg +1 -0
  527. data/assets/uswds/img/usa-icons-unused/fiber_smart_record.svg +1 -0
  528. data/assets/uswds/img/usa-icons-unused/file_copy.svg +1 -0
  529. data/assets/uswds/img/usa-icons-unused/file_download_done.svg +1 -0
  530. data/assets/uswds/img/usa-icons-unused/filter.svg +1 -0
  531. data/assets/uswds/img/usa-icons-unused/filter_1.svg +1 -0
  532. data/assets/uswds/img/usa-icons-unused/filter_2.svg +1 -0
  533. data/assets/uswds/img/usa-icons-unused/filter_3.svg +1 -0
  534. data/assets/uswds/img/usa-icons-unused/filter_4.svg +1 -0
  535. data/assets/uswds/img/usa-icons-unused/filter_5.svg +1 -0
  536. data/assets/uswds/img/usa-icons-unused/filter_6.svg +1 -0
  537. data/assets/uswds/img/usa-icons-unused/filter_7.svg +1 -0
  538. data/assets/uswds/img/usa-icons-unused/filter_8.svg +1 -0
  539. data/assets/uswds/img/usa-icons-unused/filter_9.svg +1 -0
  540. data/assets/uswds/img/usa-icons-unused/filter_9_plus.svg +1 -0
  541. data/assets/uswds/img/usa-icons-unused/filter_b_and_w.svg +1 -0
  542. data/assets/uswds/img/usa-icons-unused/filter_center_focus.svg +1 -0
  543. data/assets/uswds/img/usa-icons-unused/filter_drama.svg +1 -0
  544. data/assets/uswds/img/usa-icons-unused/filter_frames.svg +1 -0
  545. data/assets/uswds/img/usa-icons-unused/filter_hdr.svg +1 -0
  546. data/assets/uswds/img/usa-icons-unused/filter_list_alt.svg +1 -0
  547. data/assets/uswds/img/usa-icons-unused/filter_none.svg +1 -0
  548. data/assets/uswds/img/usa-icons-unused/filter_tilt_shift.svg +1 -0
  549. data/assets/uswds/img/usa-icons-unused/filter_vintage.svg +1 -0
  550. data/assets/uswds/img/usa-icons-unused/find_in_page.svg +1 -0
  551. data/assets/uswds/img/usa-icons-unused/find_replace.svg +1 -0
  552. data/assets/uswds/img/usa-icons-unused/fire_extinguisher.svg +1 -0
  553. data/assets/uswds/img/usa-icons-unused/fireplace.svg +1 -0
  554. data/assets/uswds/img/usa-icons-unused/fit_screen.svg +1 -0
  555. data/assets/uswds/img/usa-icons-unused/fitness_center.svg +1 -0
  556. data/assets/uswds/img/usa-icons-unused/flaky.svg +1 -0
  557. data/assets/uswds/img/usa-icons-unused/flare.svg +1 -0
  558. data/assets/uswds/img/usa-icons-unused/flash_auto.svg +1 -0
  559. data/assets/uswds/img/usa-icons-unused/flash_off.svg +1 -0
  560. data/assets/uswds/img/usa-icons-unused/flash_on.svg +1 -0
  561. data/assets/uswds/img/usa-icons-unused/flight_land.svg +1 -0
  562. data/assets/uswds/img/usa-icons-unused/flight_takeoff.svg +1 -0
  563. data/assets/uswds/img/usa-icons-unused/flip.svg +1 -0
  564. data/assets/uswds/img/usa-icons-unused/flip_camera_android.svg +1 -0
  565. data/assets/uswds/img/usa-icons-unused/flip_camera_ios.svg +1 -0
  566. data/assets/uswds/img/usa-icons-unused/flip_to_back.svg +1 -0
  567. data/assets/uswds/img/usa-icons-unused/flip_to_front.svg +1 -0
  568. data/assets/uswds/img/usa-icons-unused/folder_shared.svg +1 -0
  569. data/assets/uswds/img/usa-icons-unused/folder_special.svg +1 -0
  570. data/assets/uswds/img/usa-icons-unused/follow_the_signs.svg +1 -0
  571. data/assets/uswds/img/usa-icons-unused/font_download.svg +1 -0
  572. data/assets/uswds/img/usa-icons-unused/food_bank.svg +1 -0
  573. data/assets/uswds/img/usa-icons-unused/format_align_center.svg +1 -0
  574. data/assets/uswds/img/usa-icons-unused/format_align_justify.svg +1 -0
  575. data/assets/uswds/img/usa-icons-unused/format_align_left.svg +1 -0
  576. data/assets/uswds/img/usa-icons-unused/format_align_right.svg +1 -0
  577. data/assets/uswds/img/usa-icons-unused/format_bold.svg +1 -0
  578. data/assets/uswds/img/usa-icons-unused/format_clear.svg +1 -0
  579. data/assets/uswds/img/usa-icons-unused/format_color_fill.svg +1 -0
  580. data/assets/uswds/img/usa-icons-unused/format_color_reset.svg +1 -0
  581. data/assets/uswds/img/usa-icons-unused/format_color_text.svg +1 -0
  582. data/assets/uswds/img/usa-icons-unused/format_indent_decrease.svg +1 -0
  583. data/assets/uswds/img/usa-icons-unused/format_indent_increase.svg +1 -0
  584. data/assets/uswds/img/usa-icons-unused/format_italic.svg +1 -0
  585. data/assets/uswds/img/usa-icons-unused/format_line_spacing.svg +1 -0
  586. data/assets/uswds/img/usa-icons-unused/format_list_bulleted.svg +1 -0
  587. data/assets/uswds/img/usa-icons-unused/format_list_numbered.svg +1 -0
  588. data/assets/uswds/img/usa-icons-unused/format_list_numbered_rtl.svg +1 -0
  589. data/assets/uswds/img/usa-icons-unused/format_paint.svg +1 -0
  590. data/assets/uswds/img/usa-icons-unused/format_shapes.svg +1 -0
  591. data/assets/uswds/img/usa-icons-unused/format_strikethrough.svg +1 -0
  592. data/assets/uswds/img/usa-icons-unused/format_textdirection_l_to_r.svg +1 -0
  593. data/assets/uswds/img/usa-icons-unused/format_textdirection_r_to_l.svg +1 -0
  594. data/assets/uswds/img/usa-icons-unused/format_underlined.svg +1 -0
  595. data/assets/uswds/img/usa-icons-unused/forward.svg +1 -0
  596. data/assets/uswds/img/usa-icons-unused/forward_10.svg +1 -0
  597. data/assets/uswds/img/usa-icons-unused/forward_30.svg +1 -0
  598. data/assets/uswds/img/usa-icons-unused/forward_5.svg +1 -0
  599. data/assets/uswds/img/usa-icons-unused/forward_to_inbox.svg +1 -0
  600. data/assets/uswds/img/usa-icons-unused/foundation.svg +1 -0
  601. data/assets/uswds/img/usa-icons-unused/free_breakfast.svg +1 -0
  602. data/assets/uswds/img/usa-icons-unused/fullscreen.svg +1 -0
  603. data/assets/uswds/img/usa-icons-unused/fullscreen_exit.svg +1 -0
  604. data/assets/uswds/img/usa-icons-unused/functions.svg +1 -0
  605. data/assets/uswds/img/usa-icons-unused/g_translate.svg +1 -0
  606. data/assets/uswds/img/usa-icons-unused/gamepad.svg +1 -0
  607. data/assets/uswds/img/usa-icons-unused/games.svg +1 -0
  608. data/assets/uswds/img/usa-icons-unused/gavel.svg +1 -0
  609. data/assets/uswds/img/usa-icons-unused/gesture.svg +1 -0
  610. data/assets/uswds/img/usa-icons-unused/get_app.svg +1 -0
  611. data/assets/uswds/img/usa-icons-unused/gif.svg +1 -0
  612. data/assets/uswds/img/usa-icons-unused/golf_course.svg +1 -0
  613. data/assets/uswds/img/usa-icons-unused/gps_fixed.svg +1 -0
  614. data/assets/uswds/img/usa-icons-unused/gps_not_fixed.svg +1 -0
  615. data/assets/uswds/img/usa-icons-unused/gps_off.svg +1 -0
  616. data/assets/uswds/img/usa-icons-unused/grade.svg +1 -0
  617. data/assets/uswds/img/usa-icons-unused/gradient.svg +1 -0
  618. data/assets/uswds/img/usa-icons-unused/grading.svg +1 -0
  619. data/assets/uswds/img/usa-icons-unused/grain.svg +1 -0
  620. data/assets/uswds/img/usa-icons-unused/graphic_eq.svg +1 -0
  621. data/assets/uswds/img/usa-icons-unused/grass.svg +1 -0
  622. data/assets/uswds/img/usa-icons-unused/grid_off.svg +1 -0
  623. data/assets/uswds/img/usa-icons-unused/grid_on.svg +1 -0
  624. data/assets/uswds/img/usa-icons-unused/group.svg +1 -0
  625. data/assets/uswds/img/usa-icons-unused/group_work.svg +1 -0
  626. data/assets/uswds/img/usa-icons-unused/hail.svg +1 -0
  627. data/assets/uswds/img/usa-icons-unused/handyman.svg +1 -0
  628. data/assets/uswds/img/usa-icons-unused/hardware.svg +1 -0
  629. data/assets/uswds/img/usa-icons-unused/hd.svg +1 -0
  630. data/assets/uswds/img/usa-icons-unused/hdr_enhanced_select.svg +1 -0
  631. data/assets/uswds/img/usa-icons-unused/hdr_off.svg +1 -0
  632. data/assets/uswds/img/usa-icons-unused/hdr_on.svg +1 -0
  633. data/assets/uswds/img/usa-icons-unused/hdr_strong.svg +1 -0
  634. data/assets/uswds/img/usa-icons-unused/hdr_weak.svg +1 -0
  635. data/assets/uswds/img/usa-icons-unused/headset.svg +1 -0
  636. data/assets/uswds/img/usa-icons-unused/headset_mic.svg +1 -0
  637. data/assets/uswds/img/usa-icons-unused/headset_off.svg +1 -0
  638. data/assets/uswds/img/usa-icons-unused/healing.svg +1 -0
  639. data/assets/uswds/img/usa-icons-unused/hearing_disabled.svg +1 -0
  640. data/assets/uswds/img/usa-icons-unused/height.svg +1 -0
  641. data/assets/uswds/img/usa-icons-unused/help_center.svg +1 -0
  642. data/assets/uswds/img/usa-icons-unused/high_quality.svg +1 -0
  643. data/assets/uswds/img/usa-icons-unused/highlight.svg +1 -0
  644. data/assets/uswds/img/usa-icons-unused/highlight_alt.svg +1 -0
  645. data/assets/uswds/img/usa-icons-unused/history_edu.svg +1 -0
  646. data/assets/uswds/img/usa-icons-unused/history_toggle_off.svg +1 -0
  647. data/assets/uswds/img/usa-icons-unused/home_filled.svg +1 -0
  648. data/assets/uswds/img/usa-icons-unused/home_repair_service.svg +1 -0
  649. data/assets/uswds/img/usa-icons-unused/home_work.svg +1 -0
  650. data/assets/uswds/img/usa-icons-unused/horizontal_distribute.svg +1 -0
  651. data/assets/uswds/img/usa-icons-unused/horizontal_rule.svg +1 -0
  652. data/assets/uswds/img/usa-icons-unused/horizontal_split.svg +1 -0
  653. data/assets/uswds/img/usa-icons-unused/hot_tub.svg +1 -0
  654. data/assets/uswds/img/usa-icons-unused/hourglass_bottom.svg +1 -0
  655. data/assets/uswds/img/usa-icons-unused/hourglass_disabled.svg +1 -0
  656. data/assets/uswds/img/usa-icons-unused/hourglass_full.svg +1 -0
  657. data/assets/uswds/img/usa-icons-unused/hourglass_top.svg +1 -0
  658. data/assets/uswds/img/usa-icons-unused/house.svg +1 -0
  659. data/assets/uswds/img/usa-icons-unused/house_siding.svg +1 -0
  660. data/assets/uswds/img/usa-icons-unused/how_to_reg.svg +1 -0
  661. data/assets/uswds/img/usa-icons-unused/how_to_vote.svg +1 -0
  662. data/assets/uswds/img/usa-icons-unused/http.svg +1 -0
  663. data/assets/uswds/img/usa-icons-unused/https.svg +1 -0
  664. data/assets/uswds/img/usa-icons-unused/hvac.svg +1 -0
  665. data/assets/uswds/img/usa-icons-unused/icecream.svg +1 -0
  666. data/assets/uswds/img/usa-icons-unused/image_aspect_ratio.svg +1 -0
  667. data/assets/uswds/img/usa-icons-unused/image_not_supported.svg +1 -0
  668. data/assets/uswds/img/usa-icons-unused/image_search.svg +1 -0
  669. data/assets/uswds/img/usa-icons-unused/imagesearch_roller.svg +1 -0
  670. data/assets/uswds/img/usa-icons-unused/import_contacts.svg +1 -0
  671. data/assets/uswds/img/usa-icons-unused/import_export.svg +1 -0
  672. data/assets/uswds/img/usa-icons-unused/important_devices.svg +1 -0
  673. data/assets/uswds/img/usa-icons-unused/inbox.svg +1 -0
  674. data/assets/uswds/img/usa-icons-unused/indeterminate_check_box.svg +1 -0
  675. data/assets/uswds/img/usa-icons-unused/input.svg +1 -0
  676. data/assets/uswds/img/usa-icons-unused/insert_chart.svg +1 -0
  677. data/assets/uswds/img/usa-icons-unused/insert_chart_outlined.svg +1 -0
  678. data/assets/uswds/img/usa-icons-unused/insert_comment.svg +1 -0
  679. data/assets/uswds/img/usa-icons-unused/insert_drive_file.svg +1 -0
  680. data/assets/uswds/img/usa-icons-unused/insert_emoticon.svg +1 -0
  681. data/assets/uswds/img/usa-icons-unused/insert_invitation.svg +1 -0
  682. data/assets/uswds/img/usa-icons-unused/insert_link.svg +1 -0
  683. data/assets/uswds/img/usa-icons-unused/insert_photo.svg +1 -0
  684. data/assets/uswds/img/usa-icons-unused/integration_instructions.svg +1 -0
  685. data/assets/uswds/img/usa-icons-unused/inventory.svg +1 -0
  686. data/assets/uswds/img/usa-icons-unused/invert_colors.svg +1 -0
  687. data/assets/uswds/img/usa-icons-unused/invert_colors_off.svg +1 -0
  688. data/assets/uswds/img/usa-icons-unused/ios_share.svg +1 -0
  689. data/assets/uswds/img/usa-icons-unused/iso.svg +1 -0
  690. data/assets/uswds/img/usa-icons-unused/keyboard_arrow_down.svg +1 -0
  691. data/assets/uswds/img/usa-icons-unused/keyboard_arrow_left.svg +1 -0
  692. data/assets/uswds/img/usa-icons-unused/keyboard_arrow_right.svg +1 -0
  693. data/assets/uswds/img/usa-icons-unused/keyboard_arrow_up.svg +1 -0
  694. data/assets/uswds/img/usa-icons-unused/keyboard_backspace.svg +1 -0
  695. data/assets/uswds/img/usa-icons-unused/keyboard_capslock.svg +1 -0
  696. data/assets/uswds/img/usa-icons-unused/keyboard_hide.svg +1 -0
  697. data/assets/uswds/img/usa-icons-unused/keyboard_return.svg +1 -0
  698. data/assets/uswds/img/usa-icons-unused/keyboard_tab.svg +1 -0
  699. data/assets/uswds/img/usa-icons-unused/keyboard_voice.svg +1 -0
  700. data/assets/uswds/img/usa-icons-unused/king_bed.svg +1 -0
  701. data/assets/uswds/img/usa-icons-unused/kitchen.svg +1 -0
  702. data/assets/uswds/img/usa-icons-unused/label_important.svg +1 -0
  703. data/assets/uswds/img/usa-icons-unused/label_important_outline.svg +1 -0
  704. data/assets/uswds/img/usa-icons-unused/label_off.svg +1 -0
  705. data/assets/uswds/img/usa-icons-unused/label_outline.svg +1 -0
  706. data/assets/uswds/img/usa-icons-unused/landscape.svg +1 -0
  707. data/assets/uswds/img/usa-icons-unused/laptop.svg +1 -0
  708. data/assets/uswds/img/usa-icons-unused/laptop_chromebook.svg +1 -0
  709. data/assets/uswds/img/usa-icons-unused/laptop_mac.svg +1 -0
  710. data/assets/uswds/img/usa-icons-unused/laptop_windows.svg +1 -0
  711. data/assets/uswds/img/usa-icons-unused/layers.svg +1 -0
  712. data/assets/uswds/img/usa-icons-unused/layers_clear.svg +1 -0
  713. data/assets/uswds/img/usa-icons-unused/leaderboard.svg +1 -0
  714. data/assets/uswds/img/usa-icons-unused/leak_add.svg +1 -0
  715. data/assets/uswds/img/usa-icons-unused/leak_remove.svg +1 -0
  716. data/assets/uswds/img/usa-icons-unused/legend_toggle.svg +1 -0
  717. data/assets/uswds/img/usa-icons-unused/lens.svg +1 -0
  718. data/assets/uswds/img/usa-icons-unused/library_add.svg +1 -0
  719. data/assets/uswds/img/usa-icons-unused/library_add_check.svg +1 -0
  720. data/assets/uswds/img/usa-icons-unused/library_books.svg +1 -0
  721. data/assets/uswds/img/usa-icons-unused/library_music.svg +1 -0
  722. data/assets/uswds/img/usa-icons-unused/line_style.svg +1 -0
  723. data/assets/uswds/img/usa-icons-unused/line_weight.svg +1 -0
  724. data/assets/uswds/img/usa-icons-unused/linear_scale.svg +1 -0
  725. data/assets/uswds/img/usa-icons-unused/linked_camera.svg +1 -0
  726. data/assets/uswds/img/usa-icons-unused/liquor.svg +1 -0
  727. data/assets/uswds/img/usa-icons-unused/list_alt.svg +1 -0
  728. data/assets/uswds/img/usa-icons-unused/live_help.svg +1 -0
  729. data/assets/uswds/img/usa-icons-unused/live_tv.svg +1 -0
  730. data/assets/uswds/img/usa-icons-unused/local_activity.svg +1 -0
  731. data/assets/uswds/img/usa-icons-unused/local_airport.svg +1 -0
  732. data/assets/uswds/img/usa-icons-unused/local_atm.svg +1 -0
  733. data/assets/uswds/img/usa-icons-unused/local_bar.svg +1 -0
  734. data/assets/uswds/img/usa-icons-unused/local_car_wash.svg +1 -0
  735. data/assets/uswds/img/usa-icons-unused/local_convenience_store.svg +1 -0
  736. data/assets/uswds/img/usa-icons-unused/local_dining.svg +1 -0
  737. data/assets/uswds/img/usa-icons-unused/local_drink.svg +1 -0
  738. data/assets/uswds/img/usa-icons-unused/local_florist.svg +1 -0
  739. data/assets/uswds/img/usa-icons-unused/local_hotel.svg +1 -0
  740. data/assets/uswds/img/usa-icons-unused/local_mall.svg +1 -0
  741. data/assets/uswds/img/usa-icons-unused/local_movies.svg +1 -0
  742. data/assets/uswds/img/usa-icons-unused/local_phone.svg +1 -0
  743. data/assets/uswds/img/usa-icons-unused/local_pizza.svg +1 -0
  744. data/assets/uswds/img/usa-icons-unused/local_play.svg +1 -0
  745. data/assets/uswds/img/usa-icons-unused/local_post_office.svg +1 -0
  746. data/assets/uswds/img/usa-icons-unused/local_printshop.svg +1 -0
  747. data/assets/uswds/img/usa-icons-unused/local_see.svg +1 -0
  748. data/assets/uswds/img/usa-icons-unused/local_shipping.svg +1 -0
  749. data/assets/uswds/img/usa-icons-unused/location_disabled.svg +1 -0
  750. data/assets/uswds/img/usa-icons-unused/location_off.svg +1 -0
  751. data/assets/uswds/img/usa-icons-unused/location_pin.svg +1 -0
  752. data/assets/uswds/img/usa-icons-unused/location_searching.svg +1 -0
  753. data/assets/uswds/img/usa-icons-unused/lock_clock.svg +1 -0
  754. data/assets/uswds/img/usa-icons-unused/looks.svg +1 -0
  755. data/assets/uswds/img/usa-icons-unused/looks_3.svg +1 -0
  756. data/assets/uswds/img/usa-icons-unused/looks_4.svg +1 -0
  757. data/assets/uswds/img/usa-icons-unused/looks_5.svg +1 -0
  758. data/assets/uswds/img/usa-icons-unused/looks_6.svg +1 -0
  759. data/assets/uswds/img/usa-icons-unused/looks_one.svg +1 -0
  760. data/assets/uswds/img/usa-icons-unused/looks_two.svg +1 -0
  761. data/assets/uswds/img/usa-icons-unused/loupe.svg +1 -0
  762. data/assets/uswds/img/usa-icons-unused/low_priority.svg +1 -0
  763. data/assets/uswds/img/usa-icons-unused/loyalty.svg +1 -0
  764. data/assets/uswds/img/usa-icons-unused/luggage.svg +1 -0
  765. data/assets/uswds/img/usa-icons-unused/lunch_dining.svg +1 -0
  766. data/assets/uswds/img/usa-icons-unused/maps_ugc.svg +1 -0
  767. data/assets/uswds/img/usa-icons-unused/margin.svg +1 -0
  768. data/assets/uswds/img/usa-icons-unused/mark_as_unread.svg +1 -0
  769. data/assets/uswds/img/usa-icons-unused/mark_chat_read.svg +1 -0
  770. data/assets/uswds/img/usa-icons-unused/mark_chat_unread.svg +1 -0
  771. data/assets/uswds/img/usa-icons-unused/mark_email_read.svg +1 -0
  772. data/assets/uswds/img/usa-icons-unused/mark_email_unread.svg +1 -0
  773. data/assets/uswds/img/usa-icons-unused/markunread.svg +1 -0
  774. data/assets/uswds/img/usa-icons-unused/markunread_mailbox.svg +1 -0
  775. data/assets/uswds/img/usa-icons-unused/maximize.svg +1 -0
  776. data/assets/uswds/img/usa-icons-unused/mediation.svg +1 -0
  777. data/assets/uswds/img/usa-icons-unused/meeting_room.svg +1 -0
  778. data/assets/uswds/img/usa-icons-unused/memory.svg +1 -0
  779. data/assets/uswds/img/usa-icons-unused/menu_book.svg +1 -0
  780. data/assets/uswds/img/usa-icons-unused/menu_open.svg +1 -0
  781. data/assets/uswds/img/usa-icons-unused/merge_type.svg +1 -0
  782. data/assets/uswds/img/usa-icons-unused/message.svg +1 -0
  783. data/assets/uswds/img/usa-icons-unused/mic.svg +1 -0
  784. data/assets/uswds/img/usa-icons-unused/mic_external_off.svg +1 -0
  785. data/assets/uswds/img/usa-icons-unused/mic_external_on.svg +1 -0
  786. data/assets/uswds/img/usa-icons-unused/mic_none.svg +1 -0
  787. data/assets/uswds/img/usa-icons-unused/mic_off.svg +1 -0
  788. data/assets/uswds/img/usa-icons-unused/microwave.svg +1 -0
  789. data/assets/uswds/img/usa-icons-unused/minimize.svg +1 -0
  790. data/assets/uswds/img/usa-icons-unused/miscellaneous_services.svg +1 -0
  791. data/assets/uswds/img/usa-icons-unused/missed_video_call.svg +1 -0
  792. data/assets/uswds/img/usa-icons-unused/mms.svg +1 -0
  793. data/assets/uswds/img/usa-icons-unused/mobile_friendly.svg +1 -0
  794. data/assets/uswds/img/usa-icons-unused/mobile_off.svg +1 -0
  795. data/assets/uswds/img/usa-icons-unused/mobile_screen_share.svg +1 -0
  796. data/assets/uswds/img/usa-icons-unused/mode_comment.svg +1 -0
  797. data/assets/uswds/img/usa-icons-unused/mode_edit.svg +1 -0
  798. data/assets/uswds/img/usa-icons-unused/model_training.svg +1 -0
  799. data/assets/uswds/img/usa-icons-unused/monetization_on.svg +1 -0
  800. data/assets/uswds/img/usa-icons-unused/money.svg +1 -0
  801. data/assets/uswds/img/usa-icons-unused/money_off.svg +1 -0
  802. data/assets/uswds/img/usa-icons-unused/monitor.svg +1 -0
  803. data/assets/uswds/img/usa-icons-unused/monochrome_photos.svg +1 -0
  804. data/assets/uswds/img/usa-icons-unused/mood.svg +1 -0
  805. data/assets/uswds/img/usa-icons-unused/mood_bad.svg +1 -0
  806. data/assets/uswds/img/usa-icons-unused/moped.svg +1 -0
  807. data/assets/uswds/img/usa-icons-unused/more.svg +1 -0
  808. data/assets/uswds/img/usa-icons-unused/more_time.svg +1 -0
  809. data/assets/uswds/img/usa-icons-unused/motion_photos_off.svg +1 -0
  810. data/assets/uswds/img/usa-icons-unused/motion_photos_on.svg +1 -0
  811. data/assets/uswds/img/usa-icons-unused/motion_photos_pause.svg +1 -0
  812. data/assets/uswds/img/usa-icons-unused/motion_photos_paused.svg +1 -0
  813. data/assets/uswds/img/usa-icons-unused/mouse.svg +1 -0
  814. data/assets/uswds/img/usa-icons-unused/move_to_inbox.svg +1 -0
  815. data/assets/uswds/img/usa-icons-unused/movie.svg +1 -0
  816. data/assets/uswds/img/usa-icons-unused/movie_creation.svg +1 -0
  817. data/assets/uswds/img/usa-icons-unused/movie_filter.svg +1 -0
  818. data/assets/uswds/img/usa-icons-unused/mp.svg +1 -0
  819. data/assets/uswds/img/usa-icons-unused/multiline_chart.svg +1 -0
  820. data/assets/uswds/img/usa-icons-unused/multiple_stop.svg +1 -0
  821. data/assets/uswds/img/usa-icons-unused/museum.svg +1 -0
  822. data/assets/uswds/img/usa-icons-unused/music_note.svg +1 -0
  823. data/assets/uswds/img/usa-icons-unused/music_off.svg +1 -0
  824. data/assets/uswds/img/usa-icons-unused/music_video.svg +1 -0
  825. data/assets/uswds/img/usa-icons-unused/nat.svg +1 -0
  826. data/assets/uswds/img/usa-icons-unused/nature.svg +1 -0
  827. data/assets/uswds/img/usa-icons-unused/nature_people.svg +1 -0
  828. data/assets/uswds/img/usa-icons-unused/navigation.svg +1 -0
  829. data/assets/uswds/img/usa-icons-unused/near_me_disabled.svg +1 -0
  830. data/assets/uswds/img/usa-icons-unused/network_cell.svg +1 -0
  831. data/assets/uswds/img/usa-icons-unused/network_check.svg +1 -0
  832. data/assets/uswds/img/usa-icons-unused/network_locked.svg +1 -0
  833. data/assets/uswds/img/usa-icons-unused/network_wifi.svg +1 -0
  834. data/assets/uswds/img/usa-icons-unused/new_releases.svg +1 -0
  835. data/assets/uswds/img/usa-icons-unused/next_plan.svg +1 -0
  836. data/assets/uswds/img/usa-icons-unused/next_week.svg +1 -0
  837. data/assets/uswds/img/usa-icons-unused/nfc.svg +1 -0
  838. data/assets/uswds/img/usa-icons-unused/night_shelter.svg +1 -0
  839. data/assets/uswds/img/usa-icons-unused/nightlife.svg +1 -0
  840. data/assets/uswds/img/usa-icons-unused/nightlight_round.svg +1 -0
  841. data/assets/uswds/img/usa-icons-unused/nights_stay.svg +1 -0
  842. data/assets/uswds/img/usa-icons-unused/no_backpack.svg +1 -0
  843. data/assets/uswds/img/usa-icons-unused/no_cell.svg +1 -0
  844. data/assets/uswds/img/usa-icons-unused/no_drinks.svg +1 -0
  845. data/assets/uswds/img/usa-icons-unused/no_encryption.svg +1 -0
  846. data/assets/uswds/img/usa-icons-unused/no_flash.svg +1 -0
  847. data/assets/uswds/img/usa-icons-unused/no_food.svg +1 -0
  848. data/assets/uswds/img/usa-icons-unused/no_luggage.svg +1 -0
  849. data/assets/uswds/img/usa-icons-unused/no_meals.svg +1 -0
  850. data/assets/uswds/img/usa-icons-unused/no_meals_ouline.svg +1 -0
  851. data/assets/uswds/img/usa-icons-unused/no_meeting_room.svg +1 -0
  852. data/assets/uswds/img/usa-icons-unused/no_photography.svg +1 -0
  853. data/assets/uswds/img/usa-icons-unused/no_sim.svg +1 -0
  854. data/assets/uswds/img/usa-icons-unused/no_stroller.svg +1 -0
  855. data/assets/uswds/img/usa-icons-unused/no_transfer.svg +1 -0
  856. data/assets/uswds/img/usa-icons-unused/north.svg +1 -0
  857. data/assets/uswds/img/usa-icons-unused/north_east.svg +1 -0
  858. data/assets/uswds/img/usa-icons-unused/north_west.svg +1 -0
  859. data/assets/uswds/img/usa-icons-unused/not_accessible.svg +1 -0
  860. data/assets/uswds/img/usa-icons-unused/not_interested.svg +1 -0
  861. data/assets/uswds/img/usa-icons-unused/not_listed_location.svg +1 -0
  862. data/assets/uswds/img/usa-icons-unused/not_started.svg +1 -0
  863. data/assets/uswds/img/usa-icons-unused/note.svg +1 -0
  864. data/assets/uswds/img/usa-icons-unused/note_add.svg +1 -0
  865. data/assets/uswds/img/usa-icons-unused/notes.svg +1 -0
  866. data/assets/uswds/img/usa-icons-unused/notification_important.svg +1 -0
  867. data/assets/uswds/img/usa-icons-unused/notifications_paused.svg +1 -0
  868. data/assets/uswds/img/usa-icons-unused/offline_bolt.svg +1 -0
  869. data/assets/uswds/img/usa-icons-unused/offline_pin.svg +1 -0
  870. data/assets/uswds/img/usa-icons-unused/offline_share.svg +1 -0
  871. data/assets/uswds/img/usa-icons-unused/ondemand_video.svg +1 -0
  872. data/assets/uswds/img/usa-icons-unused/online_prediction.svg +1 -0
  873. data/assets/uswds/img/usa-icons-unused/opacity.svg +1 -0
  874. data/assets/uswds/img/usa-icons-unused/open_in_browser.svg +1 -0
  875. data/assets/uswds/img/usa-icons-unused/open_in_full.svg +1 -0
  876. data/assets/uswds/img/usa-icons-unused/open_in_new.svg +1 -0
  877. data/assets/uswds/img/usa-icons-unused/open_with.svg +1 -0
  878. data/assets/uswds/img/usa-icons-unused/outbond.svg +1 -0
  879. data/assets/uswds/img/usa-icons-unused/outbox.svg +1 -0
  880. data/assets/uswds/img/usa-icons-unused/outdoor_grill.svg +1 -0
  881. data/assets/uswds/img/usa-icons-unused/outgoing_mail.svg +1 -0
  882. data/assets/uswds/img/usa-icons-unused/outlet.svg +1 -0
  883. data/assets/uswds/img/usa-icons-unused/outlined_flag.svg +1 -0
  884. data/assets/uswds/img/usa-icons-unused/padding.svg +1 -0
  885. data/assets/uswds/img/usa-icons-unused/pages.svg +1 -0
  886. data/assets/uswds/img/usa-icons-unused/pageview.svg +1 -0
  887. data/assets/uswds/img/usa-icons-unused/palette.svg +1 -0
  888. data/assets/uswds/img/usa-icons-unused/pan_tool.svg +1 -0
  889. data/assets/uswds/img/usa-icons-unused/panorama.svg +1 -0
  890. data/assets/uswds/img/usa-icons-unused/panorama_fish_eye.svg +1 -0
  891. data/assets/uswds/img/usa-icons-unused/panorama_horizontal.svg +1 -0
  892. data/assets/uswds/img/usa-icons-unused/panorama_horizontal_select.svg +1 -0
  893. data/assets/uswds/img/usa-icons-unused/panorama_photosphere.svg +1 -0
  894. data/assets/uswds/img/usa-icons-unused/panorama_photosphere_select.svg +1 -0
  895. data/assets/uswds/img/usa-icons-unused/panorama_vertical.svg +1 -0
  896. data/assets/uswds/img/usa-icons-unused/panorama_vertical_select.svg +1 -0
  897. data/assets/uswds/img/usa-icons-unused/panorama_wide_angle.svg +1 -0
  898. data/assets/uswds/img/usa-icons-unused/panorama_wide_angle_select.svg +1 -0
  899. data/assets/uswds/img/usa-icons-unused/party_mode.svg +1 -0
  900. data/assets/uswds/img/usa-icons-unused/pause.svg +1 -0
  901. data/assets/uswds/img/usa-icons-unused/pause_circle_filled.svg +1 -0
  902. data/assets/uswds/img/usa-icons-unused/pause_circle_outline.svg +1 -0
  903. data/assets/uswds/img/usa-icons-unused/pause_presentation.svg +1 -0
  904. data/assets/uswds/img/usa-icons-unused/payment.svg +1 -0
  905. data/assets/uswds/img/usa-icons-unused/payments.svg +1 -0
  906. data/assets/uswds/img/usa-icons-unused/pedal_bike.svg +1 -0
  907. data/assets/uswds/img/usa-icons-unused/pending.svg +1 -0
  908. data/assets/uswds/img/usa-icons-unused/pending_actions.svg +1 -0
  909. data/assets/uswds/img/usa-icons-unused/people_alt.svg +1 -0
  910. data/assets/uswds/img/usa-icons-unused/people_outline.svg +1 -0
  911. data/assets/uswds/img/usa-icons-unused/perm_camera_mic.svg +1 -0
  912. data/assets/uswds/img/usa-icons-unused/perm_contact_calendar.svg +1 -0
  913. data/assets/uswds/img/usa-icons-unused/perm_data_setting.svg +1 -0
  914. data/assets/uswds/img/usa-icons-unused/perm_device_information.svg +1 -0
  915. data/assets/uswds/img/usa-icons-unused/perm_identity.svg +1 -0
  916. data/assets/uswds/img/usa-icons-unused/perm_media.svg +1 -0
  917. data/assets/uswds/img/usa-icons-unused/perm_phone_msg.svg +1 -0
  918. data/assets/uswds/img/usa-icons-unused/perm_scan_wifi.svg +1 -0
  919. data/assets/uswds/img/usa-icons-unused/person_add.svg +1 -0
  920. data/assets/uswds/img/usa-icons-unused/person_add_alt.svg +1 -0
  921. data/assets/uswds/img/usa-icons-unused/person_add_alt_1.svg +1 -0
  922. data/assets/uswds/img/usa-icons-unused/person_add_disabled.svg +1 -0
  923. data/assets/uswds/img/usa-icons-unused/person_outline.svg +1 -0
  924. data/assets/uswds/img/usa-icons-unused/person_pin.svg +1 -0
  925. data/assets/uswds/img/usa-icons-unused/person_pin_circle.svg +1 -0
  926. data/assets/uswds/img/usa-icons-unused/person_remove.svg +1 -0
  927. data/assets/uswds/img/usa-icons-unused/person_remove_alt_1.svg +1 -0
  928. data/assets/uswds/img/usa-icons-unused/person_search.svg +1 -0
  929. data/assets/uswds/img/usa-icons-unused/personal_video.svg +1 -0
  930. data/assets/uswds/img/usa-icons-unused/pest_control.svg +1 -0
  931. data/assets/uswds/img/usa-icons-unused/pest_control_rodent.svg +1 -0
  932. data/assets/uswds/img/usa-icons-unused/phone_android.svg +1 -0
  933. data/assets/uswds/img/usa-icons-unused/phone_bluetooth_speaker.svg +1 -0
  934. data/assets/uswds/img/usa-icons-unused/phone_callback.svg +1 -0
  935. data/assets/uswds/img/usa-icons-unused/phone_disabled.svg +1 -0
  936. data/assets/uswds/img/usa-icons-unused/phone_enabled.svg +1 -0
  937. data/assets/uswds/img/usa-icons-unused/phone_forwarded.svg +1 -0
  938. data/assets/uswds/img/usa-icons-unused/phone_in_talk.svg +1 -0
  939. data/assets/uswds/img/usa-icons-unused/phone_iphone.svg +1 -0
  940. data/assets/uswds/img/usa-icons-unused/phone_locked.svg +1 -0
  941. data/assets/uswds/img/usa-icons-unused/phone_missed.svg +1 -0
  942. data/assets/uswds/img/usa-icons-unused/phone_paused.svg +1 -0
  943. data/assets/uswds/img/usa-icons-unused/phonelink.svg +1 -0
  944. data/assets/uswds/img/usa-icons-unused/phonelink_erase.svg +1 -0
  945. data/assets/uswds/img/usa-icons-unused/phonelink_lock.svg +1 -0
  946. data/assets/uswds/img/usa-icons-unused/phonelink_off.svg +1 -0
  947. data/assets/uswds/img/usa-icons-unused/phonelink_ring.svg +1 -0
  948. data/assets/uswds/img/usa-icons-unused/phonelink_setup.svg +1 -0
  949. data/assets/uswds/img/usa-icons-unused/photo.svg +1 -0
  950. data/assets/uswds/img/usa-icons-unused/photo_album.svg +1 -0
  951. data/assets/uswds/img/usa-icons-unused/photo_camera_back.svg +1 -0
  952. data/assets/uswds/img/usa-icons-unused/photo_camera_front.svg +1 -0
  953. data/assets/uswds/img/usa-icons-unused/photo_filter.svg +1 -0
  954. data/assets/uswds/img/usa-icons-unused/photo_library.svg +1 -0
  955. data/assets/uswds/img/usa-icons-unused/photo_size_select_actual.svg +1 -0
  956. data/assets/uswds/img/usa-icons-unused/photo_size_select_large.svg +1 -0
  957. data/assets/uswds/img/usa-icons-unused/photo_size_select_small.svg +1 -0
  958. data/assets/uswds/img/usa-icons-unused/picture_as_pdf.svg +1 -0
  959. data/assets/uswds/img/usa-icons-unused/picture_in_picture.svg +1 -0
  960. data/assets/uswds/img/usa-icons-unused/picture_in_picture_alt.svg +1 -0
  961. data/assets/uswds/img/usa-icons-unused/pie_chart.svg +1 -0
  962. data/assets/uswds/img/usa-icons-unused/pie_chart_outlined.svg +1 -0
  963. data/assets/uswds/img/usa-icons-unused/pin_drop.svg +1 -0
  964. data/assets/uswds/img/usa-icons-unused/pivot_table_chart.svg +1 -0
  965. data/assets/uswds/img/usa-icons-unused/place.svg +1 -0
  966. data/assets/uswds/img/usa-icons-unused/plagiarism.svg +1 -0
  967. data/assets/uswds/img/usa-icons-unused/play_arrow.svg +1 -0
  968. data/assets/uswds/img/usa-icons-unused/play_circle_filled.svg +1 -0
  969. data/assets/uswds/img/usa-icons-unused/play_circle_outline.svg +1 -0
  970. data/assets/uswds/img/usa-icons-unused/play_disabled.svg +1 -0
  971. data/assets/uswds/img/usa-icons-unused/play_for_work.svg +1 -0
  972. data/assets/uswds/img/usa-icons-unused/playlist_add.svg +1 -0
  973. data/assets/uswds/img/usa-icons-unused/playlist_add_check.svg +1 -0
  974. data/assets/uswds/img/usa-icons-unused/playlist_play.svg +1 -0
  975. data/assets/uswds/img/usa-icons-unused/plumbing.svg +1 -0
  976. data/assets/uswds/img/usa-icons-unused/plus_one.svg +1 -0
  977. data/assets/uswds/img/usa-icons-unused/point_of_sale.svg +1 -0
  978. data/assets/uswds/img/usa-icons-unused/policy.svg +1 -0
  979. data/assets/uswds/img/usa-icons-unused/poll.svg +1 -0
  980. data/assets/uswds/img/usa-icons-unused/polymer.svg +1 -0
  981. data/assets/uswds/img/usa-icons-unused/pool.svg +1 -0
  982. data/assets/uswds/img/usa-icons-unused/portable_wifi_off.svg +1 -0
  983. data/assets/uswds/img/usa-icons-unused/portrait.svg +1 -0
  984. data/assets/uswds/img/usa-icons-unused/post_add.svg +1 -0
  985. data/assets/uswds/img/usa-icons-unused/power.svg +1 -0
  986. data/assets/uswds/img/usa-icons-unused/power_input.svg +1 -0
  987. data/assets/uswds/img/usa-icons-unused/power_off.svg +1 -0
  988. data/assets/uswds/img/usa-icons-unused/power_settings_new.svg +1 -0
  989. data/assets/uswds/img/usa-icons-unused/pregnant_woman.svg +1 -0
  990. data/assets/uswds/img/usa-icons-unused/present_to_all.svg +1 -0
  991. data/assets/uswds/img/usa-icons-unused/preview.svg +1 -0
  992. data/assets/uswds/img/usa-icons-unused/print_disabled.svg +1 -0
  993. data/assets/uswds/img/usa-icons-unused/privacy_tip.svg +1 -0
  994. data/assets/uswds/img/usa-icons-unused/psychology.svg +1 -0
  995. data/assets/uswds/img/usa-icons-unused/public_off.svg +1 -0
  996. data/assets/uswds/img/usa-icons-unused/publish.svg +1 -0
  997. data/assets/uswds/img/usa-icons-unused/published_with_changes.svg +1 -0
  998. data/assets/uswds/img/usa-icons-unused/qr_code.svg +1 -0
  999. data/assets/uswds/img/usa-icons-unused/qr_code_2.svg +1 -0
  1000. data/assets/uswds/img/usa-icons-unused/qr_code_scanner.svg +1 -0
  1001. data/assets/uswds/img/usa-icons-unused/query_builder.svg +1 -0
  1002. data/assets/uswds/img/usa-icons-unused/question_answer.svg +1 -0
  1003. data/assets/uswds/img/usa-icons-unused/queue.svg +1 -0
  1004. data/assets/uswds/img/usa-icons-unused/queue_music.svg +1 -0
  1005. data/assets/uswds/img/usa-icons-unused/queue_play_next.svg +1 -0
  1006. data/assets/uswds/img/usa-icons-unused/quickreply.svg +1 -0
  1007. data/assets/uswds/img/usa-icons-unused/radio.svg +1 -0
  1008. data/assets/uswds/img/usa-icons-unused/radio_button_checked.svg +1 -0
  1009. data/assets/uswds/img/usa-icons-unused/railway_alert.svg +1 -0
  1010. data/assets/uswds/img/usa-icons-unused/ramen_dining.svg +1 -0
  1011. data/assets/uswds/img/usa-icons-unused/rate_review.svg +1 -0
  1012. data/assets/uswds/img/usa-icons-unused/read_more.svg +1 -0
  1013. data/assets/uswds/img/usa-icons-unused/receipt.svg +1 -0
  1014. data/assets/uswds/img/usa-icons-unused/receipt_long.svg +1 -0
  1015. data/assets/uswds/img/usa-icons-unused/recent_actors.svg +1 -0
  1016. data/assets/uswds/img/usa-icons-unused/recommend.svg +1 -0
  1017. data/assets/uswds/img/usa-icons-unused/record_voice_over.svg +1 -0
  1018. data/assets/uswds/img/usa-icons-unused/redeem.svg +1 -0
  1019. data/assets/uswds/img/usa-icons-unused/redo.svg +1 -0
  1020. data/assets/uswds/img/usa-icons-unused/refresh.svg +1 -0
  1021. data/assets/uswds/img/usa-icons-unused/remove_circle.svg +1 -0
  1022. data/assets/uswds/img/usa-icons-unused/remove_circle_outline.svg +1 -0
  1023. data/assets/uswds/img/usa-icons-unused/remove_done.svg +1 -0
  1024. data/assets/uswds/img/usa-icons-unused/remove_from_queue.svg +1 -0
  1025. data/assets/uswds/img/usa-icons-unused/remove_moderator.svg +1 -0
  1026. data/assets/uswds/img/usa-icons-unused/remove_shopping_cart.svg +1 -0
  1027. data/assets/uswds/img/usa-icons-unused/reorder.svg +1 -0
  1028. data/assets/uswds/img/usa-icons-unused/repeat.svg +1 -0
  1029. data/assets/uswds/img/usa-icons-unused/repeat_on.svg +1 -0
  1030. data/assets/uswds/img/usa-icons-unused/repeat_one.svg +1 -0
  1031. data/assets/uswds/img/usa-icons-unused/repeat_one_on.svg +1 -0
  1032. data/assets/uswds/img/usa-icons-unused/replay.svg +1 -0
  1033. data/assets/uswds/img/usa-icons-unused/replay_10.svg +1 -0
  1034. data/assets/uswds/img/usa-icons-unused/replay_30.svg +1 -0
  1035. data/assets/uswds/img/usa-icons-unused/replay_5.svg +1 -0
  1036. data/assets/uswds/img/usa-icons-unused/replay_circle_filled.svg +1 -0
  1037. data/assets/uswds/img/usa-icons-unused/reply.svg +1 -0
  1038. data/assets/uswds/img/usa-icons-unused/reply_all.svg +1 -0
  1039. data/assets/uswds/img/usa-icons-unused/report_off.svg +1 -0
  1040. data/assets/uswds/img/usa-icons-unused/report_problem.svg +1 -0
  1041. data/assets/uswds/img/usa-icons-unused/request_page.svg +1 -0
  1042. data/assets/uswds/img/usa-icons-unused/request_quote.svg +1 -0
  1043. data/assets/uswds/img/usa-icons-unused/reset_tv.svg +1 -0
  1044. data/assets/uswds/img/usa-icons-unused/restaurant_menu.svg +1 -0
  1045. data/assets/uswds/img/usa-icons-unused/restore.svg +1 -0
  1046. data/assets/uswds/img/usa-icons-unused/restore_from_trash.svg +1 -0
  1047. data/assets/uswds/img/usa-icons-unused/restore_page.svg +1 -0
  1048. data/assets/uswds/img/usa-icons-unused/rice_bowl.svg +1 -0
  1049. data/assets/uswds/img/usa-icons-unused/ring_volume.svg +1 -0
  1050. data/assets/uswds/img/usa-icons-unused/roofing.svg +1 -0
  1051. data/assets/uswds/img/usa-icons-unused/room.svg +1 -0
  1052. data/assets/uswds/img/usa-icons-unused/room_preferences.svg +1 -0
  1053. data/assets/uswds/img/usa-icons-unused/room_service.svg +1 -0
  1054. data/assets/uswds/img/usa-icons-unused/rotate_90_degrees_ccw.svg +1 -0
  1055. data/assets/uswds/img/usa-icons-unused/rotate_left.svg +1 -0
  1056. data/assets/uswds/img/usa-icons-unused/rotate_right.svg +1 -0
  1057. data/assets/uswds/img/usa-icons-unused/rounded_corner.svg +1 -0
  1058. data/assets/uswds/img/usa-icons-unused/router.svg +1 -0
  1059. data/assets/uswds/img/usa-icons-unused/rowing.svg +1 -0
  1060. data/assets/uswds/img/usa-icons-unused/rtt.svg +1 -0
  1061. data/assets/uswds/img/usa-icons-unused/rule.svg +1 -0
  1062. data/assets/uswds/img/usa-icons-unused/rule_folder.svg +1 -0
  1063. data/assets/uswds/img/usa-icons-unused/run_circle.svg +1 -0
  1064. data/assets/uswds/img/usa-icons-unused/rv_hookup.svg +1 -0
  1065. data/assets/uswds/img/usa-icons-unused/satellite.svg +1 -0
  1066. data/assets/uswds/img/usa-icons-unused/save.svg +1 -0
  1067. data/assets/uswds/img/usa-icons-unused/saved_search.svg +1 -0
  1068. data/assets/uswds/img/usa-icons-unused/scanner.svg +1 -0
  1069. data/assets/uswds/img/usa-icons-unused/scatter_plot.svg +1 -0
  1070. data/assets/uswds/img/usa-icons-unused/schedule_send.svg +1 -0
  1071. data/assets/uswds/img/usa-icons-unused/score.svg +1 -0
  1072. data/assets/uswds/img/usa-icons-unused/screen_lock_landscape.svg +1 -0
  1073. data/assets/uswds/img/usa-icons-unused/screen_lock_portrait.svg +1 -0
  1074. data/assets/uswds/img/usa-icons-unused/screen_lock_rotation.svg +1 -0
  1075. data/assets/uswds/img/usa-icons-unused/screen_rotation.svg +1 -0
  1076. data/assets/uswds/img/usa-icons-unused/screen_search_desktop.svg +1 -0
  1077. data/assets/uswds/img/usa-icons-unused/screen_share.svg +1 -0
  1078. data/assets/uswds/img/usa-icons-unused/sd.svg +1 -0
  1079. data/assets/uswds/img/usa-icons-unused/sd_card.svg +1 -0
  1080. data/assets/uswds/img/usa-icons-unused/sd_storage.svg +1 -0
  1081. data/assets/uswds/img/usa-icons-unused/search_off.svg +1 -0
  1082. data/assets/uswds/img/usa-icons-unused/segment.svg +1 -0
  1083. data/assets/uswds/img/usa-icons-unused/select_all.svg +1 -0
  1084. data/assets/uswds/img/usa-icons-unused/self_improvement.svg +1 -0
  1085. data/assets/uswds/img/usa-icons-unused/send_and_archive.svg +1 -0
  1086. data/assets/uswds/img/usa-icons-unused/send_to_mobile.svg +1 -0
  1087. data/assets/uswds/img/usa-icons-unused/sensor_door.svg +1 -0
  1088. data/assets/uswds/img/usa-icons-unused/sensor_window.svg +1 -0
  1089. data/assets/uswds/img/usa-icons-unused/sentiment_very_satisfied.svg +1 -0
  1090. data/assets/uswds/img/usa-icons-unused/set_meal.svg +1 -0
  1091. data/assets/uswds/img/usa-icons-unused/settings_applications.svg +1 -0
  1092. data/assets/uswds/img/usa-icons-unused/settings_backup_restore.svg +1 -0
  1093. data/assets/uswds/img/usa-icons-unused/settings_bluetooth.svg +1 -0
  1094. data/assets/uswds/img/usa-icons-unused/settings_brightness.svg +1 -0
  1095. data/assets/uswds/img/usa-icons-unused/settings_cell.svg +1 -0
  1096. data/assets/uswds/img/usa-icons-unused/settings_ethernet.svg +1 -0
  1097. data/assets/uswds/img/usa-icons-unused/settings_input_antenna.svg +1 -0
  1098. data/assets/uswds/img/usa-icons-unused/settings_input_component.svg +1 -0
  1099. data/assets/uswds/img/usa-icons-unused/settings_input_composite.svg +1 -0
  1100. data/assets/uswds/img/usa-icons-unused/settings_input_hdmi.svg +1 -0
  1101. data/assets/uswds/img/usa-icons-unused/settings_input_svideo.svg +1 -0
  1102. data/assets/uswds/img/usa-icons-unused/settings_overscan.svg +1 -0
  1103. data/assets/uswds/img/usa-icons-unused/settings_phone.svg +1 -0
  1104. data/assets/uswds/img/usa-icons-unused/settings_power.svg +1 -0
  1105. data/assets/uswds/img/usa-icons-unused/settings_remote.svg +1 -0
  1106. data/assets/uswds/img/usa-icons-unused/settings_system_daydream.svg +1 -0
  1107. data/assets/uswds/img/usa-icons-unused/settings_voice.svg +1 -0
  1108. data/assets/uswds/img/usa-icons-unused/shop.svg +1 -0
  1109. data/assets/uswds/img/usa-icons-unused/shop_two.svg +1 -0
  1110. data/assets/uswds/img/usa-icons-unused/shopping_bag.svg +1 -0
  1111. data/assets/uswds/img/usa-icons-unused/shopping_cart.svg +1 -0
  1112. data/assets/uswds/img/usa-icons-unused/short_text.svg +1 -0
  1113. data/assets/uswds/img/usa-icons-unused/show_chart.svg +1 -0
  1114. data/assets/uswds/img/usa-icons-unused/shuffle.svg +1 -0
  1115. data/assets/uswds/img/usa-icons-unused/shuffle_on.svg +1 -0
  1116. data/assets/uswds/img/usa-icons-unused/shutter_speed.svg +1 -0
  1117. data/assets/uswds/img/usa-icons-unused/sick.svg +1 -0
  1118. data/assets/uswds/img/usa-icons-unused/signal_cellular_0_bar.svg +1 -0
  1119. data/assets/uswds/img/usa-icons-unused/signal_cellular_4_bar.svg +1 -0
  1120. data/assets/uswds/img/usa-icons-unused/signal_cellular_alt.svg +1 -0
  1121. data/assets/uswds/img/usa-icons-unused/signal_cellular_connected_no_internet_4_bar.svg +1 -0
  1122. data/assets/uswds/img/usa-icons-unused/signal_cellular_no_sim.svg +1 -0
  1123. data/assets/uswds/img/usa-icons-unused/signal_cellular_null.svg +1 -0
  1124. data/assets/uswds/img/usa-icons-unused/signal_cellular_off.svg +1 -0
  1125. data/assets/uswds/img/usa-icons-unused/signal_wifi_0_bar.svg +1 -0
  1126. data/assets/uswds/img/usa-icons-unused/signal_wifi_4_bar.svg +1 -0
  1127. data/assets/uswds/img/usa-icons-unused/signal_wifi_4_bar_lock.svg +1 -0
  1128. data/assets/uswds/img/usa-icons-unused/signal_wifi_off.svg +1 -0
  1129. data/assets/uswds/img/usa-icons-unused/sim_card.svg +1 -0
  1130. data/assets/uswds/img/usa-icons-unused/sim_card_alert.svg +1 -0
  1131. data/assets/uswds/img/usa-icons-unused/single_bed.svg +1 -0
  1132. data/assets/uswds/img/usa-icons-unused/skip_next.svg +1 -0
  1133. data/assets/uswds/img/usa-icons-unused/skip_previous.svg +1 -0
  1134. data/assets/uswds/img/usa-icons-unused/slideshow.svg +1 -0
  1135. data/assets/uswds/img/usa-icons-unused/slow_motion_video.svg +1 -0
  1136. data/assets/uswds/img/usa-icons-unused/smart_button.svg +1 -0
  1137. data/assets/uswds/img/usa-icons-unused/smartphone.svg +1 -0
  1138. data/assets/uswds/img/usa-icons-unused/smoke_free.svg +1 -0
  1139. data/assets/uswds/img/usa-icons-unused/smoking_rooms.svg +1 -0
  1140. data/assets/uswds/img/usa-icons-unused/sms.svg +1 -0
  1141. data/assets/uswds/img/usa-icons-unused/sms_failed.svg +1 -0
  1142. data/assets/uswds/img/usa-icons-unused/snippet_folder.svg +1 -0
  1143. data/assets/uswds/img/usa-icons-unused/snooze.svg +1 -0
  1144. data/assets/uswds/img/usa-icons-unused/sort.svg +1 -0
  1145. data/assets/uswds/img/usa-icons-unused/sort_by_alpha.svg +1 -0
  1146. data/assets/uswds/img/usa-icons-unused/source.svg +1 -0
  1147. data/assets/uswds/img/usa-icons-unused/south.svg +1 -0
  1148. data/assets/uswds/img/usa-icons-unused/south_east.svg +1 -0
  1149. data/assets/uswds/img/usa-icons-unused/south_west.svg +1 -0
  1150. data/assets/uswds/img/usa-icons-unused/spa.svg +1 -0
  1151. data/assets/uswds/img/usa-icons-unused/space_bar.svg +1 -0
  1152. data/assets/uswds/img/usa-icons-unused/speaker.svg +1 -0
  1153. data/assets/uswds/img/usa-icons-unused/speaker_group.svg +1 -0
  1154. data/assets/uswds/img/usa-icons-unused/speaker_notes.svg +1 -0
  1155. data/assets/uswds/img/usa-icons-unused/speaker_notes_off.svg +1 -0
  1156. data/assets/uswds/img/usa-icons-unused/speaker_phone.svg +1 -0
  1157. data/assets/uswds/img/usa-icons-unused/speed.svg +1 -0
  1158. data/assets/uswds/img/usa-icons-unused/sports.svg +1 -0
  1159. data/assets/uswds/img/usa-icons-unused/sports_bar.svg +1 -0
  1160. data/assets/uswds/img/usa-icons-unused/sports_baseball.svg +1 -0
  1161. data/assets/uswds/img/usa-icons-unused/sports_basketball.svg +1 -0
  1162. data/assets/uswds/img/usa-icons-unused/sports_cricket.svg +1 -0
  1163. data/assets/uswds/img/usa-icons-unused/sports_esports.svg +1 -0
  1164. data/assets/uswds/img/usa-icons-unused/sports_football.svg +1 -0
  1165. data/assets/uswds/img/usa-icons-unused/sports_golf.svg +1 -0
  1166. data/assets/uswds/img/usa-icons-unused/sports_handball.svg +1 -0
  1167. data/assets/uswds/img/usa-icons-unused/sports_hockey.svg +1 -0
  1168. data/assets/uswds/img/usa-icons-unused/sports_kabaddi.svg +1 -0
  1169. data/assets/uswds/img/usa-icons-unused/sports_mma.svg +1 -0
  1170. data/assets/uswds/img/usa-icons-unused/sports_motorsports.svg +1 -0
  1171. data/assets/uswds/img/usa-icons-unused/sports_rugby.svg +1 -0
  1172. data/assets/uswds/img/usa-icons-unused/sports_soccer.svg +1 -0
  1173. data/assets/uswds/img/usa-icons-unused/sports_tennis.svg +1 -0
  1174. data/assets/uswds/img/usa-icons-unused/sports_volleyball.svg +1 -0
  1175. data/assets/uswds/img/usa-icons-unused/square_foot.svg +1 -0
  1176. data/assets/uswds/img/usa-icons-unused/stacked_bar_chart.svg +1 -0
  1177. data/assets/uswds/img/usa-icons-unused/stacked_line_chart.svg +1 -0
  1178. data/assets/uswds/img/usa-icons-unused/stairs.svg +1 -0
  1179. data/assets/uswds/img/usa-icons-unused/star_border.svg +1 -0
  1180. data/assets/uswds/img/usa-icons-unused/star_rate.svg +1 -0
  1181. data/assets/uswds/img/usa-icons-unused/stars.svg +1 -0
  1182. data/assets/uswds/img/usa-icons-unused/stay_current_landscape.svg +1 -0
  1183. data/assets/uswds/img/usa-icons-unused/stay_current_portrait.svg +1 -0
  1184. data/assets/uswds/img/usa-icons-unused/stay_primary_landscape.svg +1 -0
  1185. data/assets/uswds/img/usa-icons-unused/stay_primary_portrait.svg +1 -0
  1186. data/assets/uswds/img/usa-icons-unused/sticky_note_2.svg +1 -0
  1187. data/assets/uswds/img/usa-icons-unused/stop.svg +1 -0
  1188. data/assets/uswds/img/usa-icons-unused/stop_circle.svg +1 -0
  1189. data/assets/uswds/img/usa-icons-unused/stop_screen_share.svg +1 -0
  1190. data/assets/uswds/img/usa-icons-unused/storage.svg +1 -0
  1191. data/assets/uswds/img/usa-icons-unused/store_mall_directory.svg +1 -0
  1192. data/assets/uswds/img/usa-icons-unused/storefront.svg +1 -0
  1193. data/assets/uswds/img/usa-icons-unused/straighten.svg +1 -0
  1194. data/assets/uswds/img/usa-icons-unused/stream.svg +1 -0
  1195. data/assets/uswds/img/usa-icons-unused/streetview.svg +1 -0
  1196. data/assets/uswds/img/usa-icons-unused/strikethrough_s.svg +1 -0
  1197. data/assets/uswds/img/usa-icons-unused/stroller.svg +1 -0
  1198. data/assets/uswds/img/usa-icons-unused/style.svg +1 -0
  1199. data/assets/uswds/img/usa-icons-unused/subdirectory_arrow_left.svg +1 -0
  1200. data/assets/uswds/img/usa-icons-unused/subdirectory_arrow_right.svg +1 -0
  1201. data/assets/uswds/img/usa-icons-unused/subject.svg +1 -0
  1202. data/assets/uswds/img/usa-icons-unused/subscript.svg +1 -0
  1203. data/assets/uswds/img/usa-icons-unused/subscriptions.svg +1 -0
  1204. data/assets/uswds/img/usa-icons-unused/subtitles.svg +1 -0
  1205. data/assets/uswds/img/usa-icons-unused/subtitles_off.svg +1 -0
  1206. data/assets/uswds/img/usa-icons-unused/subway.svg +1 -0
  1207. data/assets/uswds/img/usa-icons-unused/superscript.svg +1 -0
  1208. data/assets/uswds/img/usa-icons-unused/supervised_user_circle.svg +1 -0
  1209. data/assets/uswds/img/usa-icons-unused/supervisor_account.svg +1 -0
  1210. data/assets/uswds/img/usa-icons-unused/surround_sound.svg +1 -0
  1211. data/assets/uswds/img/usa-icons-unused/swap_calls.svg +1 -0
  1212. data/assets/uswds/img/usa-icons-unused/swap_horiz.svg +1 -0
  1213. data/assets/uswds/img/usa-icons-unused/swap_horizontal_circle.svg +1 -0
  1214. data/assets/uswds/img/usa-icons-unused/swap_vert.svg +1 -0
  1215. data/assets/uswds/img/usa-icons-unused/swap_vertical_circle.svg +1 -0
  1216. data/assets/uswds/img/usa-icons-unused/swipe.svg +1 -0
  1217. data/assets/uswds/img/usa-icons-unused/switch_account.svg +1 -0
  1218. data/assets/uswds/img/usa-icons-unused/switch_camera.svg +1 -0
  1219. data/assets/uswds/img/usa-icons-unused/switch_left.svg +1 -0
  1220. data/assets/uswds/img/usa-icons-unused/switch_right.svg +1 -0
  1221. data/assets/uswds/img/usa-icons-unused/switch_video.svg +1 -0
  1222. data/assets/uswds/img/usa-icons-unused/sync.svg +1 -0
  1223. data/assets/uswds/img/usa-icons-unused/sync_alt.svg +1 -0
  1224. data/assets/uswds/img/usa-icons-unused/sync_disabled.svg +1 -0
  1225. data/assets/uswds/img/usa-icons-unused/sync_problem.svg +1 -0
  1226. data/assets/uswds/img/usa-icons-unused/system_update.svg +1 -0
  1227. data/assets/uswds/img/usa-icons-unused/system_update_alt.svg +1 -0
  1228. data/assets/uswds/img/usa-icons-unused/tab.svg +1 -0
  1229. data/assets/uswds/img/usa-icons-unused/tab_unselected.svg +1 -0
  1230. data/assets/uswds/img/usa-icons-unused/table_chart.svg +1 -0
  1231. data/assets/uswds/img/usa-icons-unused/table_rows.svg +1 -0
  1232. data/assets/uswds/img/usa-icons-unused/table_view.svg +1 -0
  1233. data/assets/uswds/img/usa-icons-unused/tablet.svg +1 -0
  1234. data/assets/uswds/img/usa-icons-unused/tablet_android.svg +1 -0
  1235. data/assets/uswds/img/usa-icons-unused/tablet_mac.svg +1 -0
  1236. data/assets/uswds/img/usa-icons-unused/tag.svg +1 -0
  1237. data/assets/uswds/img/usa-icons-unused/tag_faces.svg +1 -0
  1238. data/assets/uswds/img/usa-icons-unused/takeout_dining.svg +1 -0
  1239. data/assets/uswds/img/usa-icons-unused/tap_and_play.svg +1 -0
  1240. data/assets/uswds/img/usa-icons-unused/tapas.svg +1 -0
  1241. data/assets/uswds/img/usa-icons-unused/taxi_alert.svg +1 -0
  1242. data/assets/uswds/img/usa-icons-unused/terrain.svg +1 -0
  1243. data/assets/uswds/img/usa-icons-unused/text_format.svg +1 -0
  1244. data/assets/uswds/img/usa-icons-unused/text_rotate_up.svg +1 -0
  1245. data/assets/uswds/img/usa-icons-unused/text_rotate_vertical.svg +1 -0
  1246. data/assets/uswds/img/usa-icons-unused/text_rotation_angledown.svg +1 -0
  1247. data/assets/uswds/img/usa-icons-unused/text_rotation_angleup.svg +1 -0
  1248. data/assets/uswds/img/usa-icons-unused/text_rotation_down.svg +1 -0
  1249. data/assets/uswds/img/usa-icons-unused/text_rotation_none.svg +1 -0
  1250. data/assets/uswds/img/usa-icons-unused/text_snippet.svg +1 -0
  1251. data/assets/uswds/img/usa-icons-unused/textsms.svg +1 -0
  1252. data/assets/uswds/img/usa-icons-unused/texture.svg +1 -0
  1253. data/assets/uswds/img/usa-icons-unused/theater_comedy.svg +1 -0
  1254. data/assets/uswds/img/usa-icons-unused/theaters.svg +1 -0
  1255. data/assets/uswds/img/usa-icons-unused/thumb_down.svg +1 -0
  1256. data/assets/uswds/img/usa-icons-unused/thumb_down_alt.svg +1 -0
  1257. data/assets/uswds/img/usa-icons-unused/thumb_up.svg +1 -0
  1258. data/assets/uswds/img/usa-icons-unused/thumb_up_off_alt.svg +1 -0
  1259. data/assets/uswds/img/usa-icons-unused/thumbs_up_down.svg +1 -0
  1260. data/assets/uswds/img/usa-icons-unused/time_to_leave.svg +1 -0
  1261. data/assets/uswds/img/usa-icons-unused/timelapse.svg +1 -0
  1262. data/assets/uswds/img/usa-icons-unused/timeline.svg +1 -0
  1263. data/assets/uswds/img/usa-icons-unused/timer_10.svg +1 -0
  1264. data/assets/uswds/img/usa-icons-unused/timer_3.svg +1 -0
  1265. data/assets/uswds/img/usa-icons-unused/timer_off.svg +1 -0
  1266. data/assets/uswds/img/usa-icons-unused/title.svg +1 -0
  1267. data/assets/uswds/img/usa-icons-unused/toc.svg +1 -0
  1268. data/assets/uswds/img/usa-icons-unused/today.svg +1 -0
  1269. data/assets/uswds/img/usa-icons-unused/toll.svg +1 -0
  1270. data/assets/uswds/img/usa-icons-unused/tonality.svg +1 -0
  1271. data/assets/uswds/img/usa-icons-unused/touch_app.svg +1 -0
  1272. data/assets/uswds/img/usa-icons-unused/tour.svg +1 -0
  1273. data/assets/uswds/img/usa-icons-unused/toys.svg +1 -0
  1274. data/assets/uswds/img/usa-icons-unused/track_changes.svg +1 -0
  1275. data/assets/uswds/img/usa-icons-unused/traffic.svg +1 -0
  1276. data/assets/uswds/img/usa-icons-unused/train.svg +1 -0
  1277. data/assets/uswds/img/usa-icons-unused/tram.svg +1 -0
  1278. data/assets/uswds/img/usa-icons-unused/transfer_within_a_station.svg +1 -0
  1279. data/assets/uswds/img/usa-icons-unused/transform.svg +1 -0
  1280. data/assets/uswds/img/usa-icons-unused/transit_enterexit.svg +1 -0
  1281. data/assets/uswds/img/usa-icons-unused/trending_flat.svg +1 -0
  1282. data/assets/uswds/img/usa-icons-unused/trip_origin.svg +1 -0
  1283. data/assets/uswds/img/usa-icons-unused/tty.svg +1 -0
  1284. data/assets/uswds/img/usa-icons-unused/tune.svg +1 -0
  1285. data/assets/uswds/img/usa-icons-unused/turned_in.svg +1 -0
  1286. data/assets/uswds/img/usa-icons-unused/turned_in_not.svg +1 -0
  1287. data/assets/uswds/img/usa-icons-unused/tv.svg +1 -0
  1288. data/assets/uswds/img/usa-icons-unused/tv_off.svg +1 -0
  1289. data/assets/uswds/img/usa-icons-unused/two_wheeler.svg +1 -0
  1290. data/assets/uswds/img/usa-icons-unused/umbrella.svg +1 -0
  1291. data/assets/uswds/img/usa-icons-unused/unarchive.svg +1 -0
  1292. data/assets/uswds/img/usa-icons-unused/unpublished.svg +1 -0
  1293. data/assets/uswds/img/usa-icons-unused/unsubscribe.svg +1 -0
  1294. data/assets/uswds/img/usa-icons-unused/update_disabled.svg +1 -0
  1295. data/assets/uswds/img/usa-icons-unused/upgrade.svg +1 -0
  1296. data/assets/uswds/img/usa-icons-unused/usb.svg +1 -0
  1297. data/assets/uswds/img/usa-icons-unused/vertical_align_bottom.svg +1 -0
  1298. data/assets/uswds/img/usa-icons-unused/vertical_align_center.svg +1 -0
  1299. data/assets/uswds/img/usa-icons-unused/vertical_align_top.svg +1 -0
  1300. data/assets/uswds/img/usa-icons-unused/vertical_distribute.svg +1 -0
  1301. data/assets/uswds/img/usa-icons-unused/vertical_split.svg +1 -0
  1302. data/assets/uswds/img/usa-icons-unused/vibration.svg +1 -0
  1303. data/assets/uswds/img/usa-icons-unused/video_call.svg +1 -0
  1304. data/assets/uswds/img/usa-icons-unused/video_label.svg +1 -0
  1305. data/assets/uswds/img/usa-icons-unused/video_library.svg +1 -0
  1306. data/assets/uswds/img/usa-icons-unused/video_settings.svg +1 -0
  1307. data/assets/uswds/img/usa-icons-unused/videocam.svg +1 -0
  1308. data/assets/uswds/img/usa-icons-unused/videocam_off.svg +1 -0
  1309. data/assets/uswds/img/usa-icons-unused/videogame_asset.svg +1 -0
  1310. data/assets/uswds/img/usa-icons-unused/view_agenda.svg +1 -0
  1311. data/assets/uswds/img/usa-icons-unused/view_array.svg +1 -0
  1312. data/assets/uswds/img/usa-icons-unused/view_carousel.svg +1 -0
  1313. data/assets/uswds/img/usa-icons-unused/view_column.svg +1 -0
  1314. data/assets/uswds/img/usa-icons-unused/view_comfy.svg +1 -0
  1315. data/assets/uswds/img/usa-icons-unused/view_compact.svg +1 -0
  1316. data/assets/uswds/img/usa-icons-unused/view_day.svg +1 -0
  1317. data/assets/uswds/img/usa-icons-unused/view_headline.svg +1 -0
  1318. data/assets/uswds/img/usa-icons-unused/view_in_ar.svg +1 -0
  1319. data/assets/uswds/img/usa-icons-unused/view_list.svg +1 -0
  1320. data/assets/uswds/img/usa-icons-unused/view_module.svg +1 -0
  1321. data/assets/uswds/img/usa-icons-unused/view_quilt.svg +1 -0
  1322. data/assets/uswds/img/usa-icons-unused/view_sidebar.svg +1 -0
  1323. data/assets/uswds/img/usa-icons-unused/view_stream.svg +1 -0
  1324. data/assets/uswds/img/usa-icons-unused/view_week.svg +1 -0
  1325. data/assets/uswds/img/usa-icons-unused/vignette.svg +1 -0
  1326. data/assets/uswds/img/usa-icons-unused/voice_chat.svg +1 -0
  1327. data/assets/uswds/img/usa-icons-unused/voice_over_off.svg +1 -0
  1328. data/assets/uswds/img/usa-icons-unused/voicemail.svg +1 -0
  1329. data/assets/uswds/img/usa-icons-unused/volume_down.svg +1 -0
  1330. data/assets/uswds/img/usa-icons-unused/volume_mute.svg +1 -0
  1331. data/assets/uswds/img/usa-icons-unused/volume_up.svg +1 -0
  1332. data/assets/uswds/img/usa-icons-unused/volunteer_activism.svg +1 -0
  1333. data/assets/uswds/img/usa-icons-unused/vpn_key.svg +1 -0
  1334. data/assets/uswds/img/usa-icons-unused/vpn_lock.svg +1 -0
  1335. data/assets/uswds/img/usa-icons-unused/wallpaper.svg +1 -0
  1336. data/assets/uswds/img/usa-icons-unused/watch.svg +1 -0
  1337. data/assets/uswds/img/usa-icons-unused/watch_later.svg +1 -0
  1338. data/assets/uswds/img/usa-icons-unused/water_damage.svg +1 -0
  1339. data/assets/uswds/img/usa-icons-unused/waterfall_chart.svg +1 -0
  1340. data/assets/uswds/img/usa-icons-unused/waves.svg +1 -0
  1341. data/assets/uswds/img/usa-icons-unused/wb_auto.svg +1 -0
  1342. data/assets/uswds/img/usa-icons-unused/wb_cloudy.svg +1 -0
  1343. data/assets/uswds/img/usa-icons-unused/wb_incandescent.svg +1 -0
  1344. data/assets/uswds/img/usa-icons-unused/wb_iridescent.svg +1 -0
  1345. data/assets/uswds/img/usa-icons-unused/wb_shade.svg +1 -0
  1346. data/assets/uswds/img/usa-icons-unused/wb_sunny.svg +1 -0
  1347. data/assets/uswds/img/usa-icons-unused/wb_twighlight.svg +1 -0
  1348. data/assets/uswds/img/usa-icons-unused/wc.svg +1 -0
  1349. data/assets/uswds/img/usa-icons-unused/web.svg +1 -0
  1350. data/assets/uswds/img/usa-icons-unused/web_asset.svg +1 -0
  1351. data/assets/uswds/img/usa-icons-unused/weekend.svg +1 -0
  1352. data/assets/uswds/img/usa-icons-unused/west.svg +1 -0
  1353. data/assets/uswds/img/usa-icons-unused/whatshot.svg +1 -0
  1354. data/assets/uswds/img/usa-icons-unused/wheelchair_pickup.svg +1 -0
  1355. data/assets/uswds/img/usa-icons-unused/where_to_vote.svg +1 -0
  1356. data/assets/uswds/img/usa-icons-unused/widgets.svg +1 -0
  1357. data/assets/uswds/img/usa-icons-unused/wifi_calling.svg +1 -0
  1358. data/assets/uswds/img/usa-icons-unused/wifi_lock.svg +1 -0
  1359. data/assets/uswds/img/usa-icons-unused/wifi_off.svg +1 -0
  1360. data/assets/uswds/img/usa-icons-unused/wifi_protected_setup.svg +1 -0
  1361. data/assets/uswds/img/usa-icons-unused/wifi_tethering.svg +1 -0
  1362. data/assets/uswds/img/usa-icons-unused/wine_bar.svg +1 -0
  1363. data/assets/uswds/img/usa-icons-unused/work_off.svg +1 -0
  1364. data/assets/uswds/img/usa-icons-unused/work_outline.svg +1 -0
  1365. data/assets/uswds/img/usa-icons-unused/workspaces_filled.svg +1 -0
  1366. data/assets/uswds/img/usa-icons-unused/workspaces_outline.svg +1 -0
  1367. data/assets/uswds/img/usa-icons-unused/wrap_text.svg +1 -0
  1368. data/assets/uswds/img/usa-icons-unused/wrong_location.svg +1 -0
  1369. data/assets/uswds/img/usa-icons-unused/wysiwyg.svg +1 -0
  1370. data/assets/uswds/img/usa-icons-unused/youtube_searched_for.svg +1 -0
  1371. data/assets/uswds/img/usa-icons/accessibility_new.svg +1 -0
  1372. data/assets/uswds/img/usa-icons/accessible_forward.svg +1 -0
  1373. data/assets/uswds/img/usa-icons/account_balance.svg +1 -0
  1374. data/assets/uswds/img/usa-icons/account_box.svg +1 -0
  1375. data/assets/uswds/img/usa-icons/account_circle.svg +1 -0
  1376. data/assets/uswds/img/usa-icons/add.svg +1 -0
  1377. data/assets/uswds/img/usa-icons/add_circle.svg +1 -0
  1378. data/assets/uswds/img/usa-icons/add_circle_outline.svg +1 -0
  1379. data/assets/uswds/img/usa-icons/alarm.svg +1 -0
  1380. data/assets/uswds/img/usa-icons/alternate_email.svg +1 -0
  1381. data/assets/uswds/img/usa-icons/announcement.svg +1 -0
  1382. data/assets/uswds/img/usa-icons/api.svg +1 -0
  1383. data/assets/uswds/img/usa-icons/arrow_back.svg +1 -0
  1384. data/assets/uswds/img/usa-icons/arrow_downward.svg +1 -0
  1385. data/assets/uswds/img/usa-icons/arrow_drop_down.svg +1 -0
  1386. data/assets/uswds/img/usa-icons/arrow_drop_up.svg +1 -0
  1387. data/assets/uswds/img/usa-icons/arrow_forward.svg +1 -0
  1388. data/assets/uswds/img/usa-icons/arrow_upward.svg +1 -0
  1389. data/assets/uswds/img/usa-icons/assessment.svg +1 -0
  1390. data/assets/uswds/img/usa-icons/attach_file.svg +1 -0
  1391. data/assets/uswds/img/usa-icons/attach_money.svg +1 -0
  1392. data/assets/uswds/img/usa-icons/autorenew.svg +1 -0
  1393. data/assets/uswds/img/usa-icons/backpack.svg +1 -0
  1394. data/assets/uswds/img/usa-icons/bathtub.svg +1 -0
  1395. data/assets/uswds/img/usa-icons/bedding.svg +1 -0
  1396. data/assets/uswds/img/usa-icons/bookmark.svg +1 -0
  1397. data/assets/uswds/img/usa-icons/bug_report.svg +1 -0
  1398. data/assets/uswds/img/usa-icons/build.svg +1 -0
  1399. data/assets/uswds/img/usa-icons/calendar_today.svg +1 -0
  1400. data/assets/uswds/img/usa-icons/campaign.svg +1 -0
  1401. data/assets/uswds/img/usa-icons/camping.svg +1 -0
  1402. data/assets/uswds/img/usa-icons/cancel.svg +1 -0
  1403. data/assets/uswds/img/usa-icons/chat.svg +1 -0
  1404. data/assets/uswds/img/usa-icons/check.svg +1 -0
  1405. data/assets/uswds/img/usa-icons/check_box_outline_blank.svg +1 -0
  1406. data/assets/uswds/img/usa-icons/check_circle.svg +1 -0
  1407. data/assets/uswds/img/usa-icons/check_circle_outline.svg +1 -0
  1408. data/assets/uswds/img/usa-icons/checkroom.svg +1 -0
  1409. data/assets/uswds/img/usa-icons/chevron_left.svg +1 -0
  1410. data/assets/uswds/img/usa-icons/chevron_right.svg +1 -0
  1411. data/assets/uswds/img/usa-icons/clean_hands.svg +1 -0
  1412. data/assets/uswds/img/usa-icons/close.svg +1 -0
  1413. data/assets/uswds/img/usa-icons/closed_caption.svg +1 -0
  1414. data/assets/uswds/img/usa-icons/clothes.svg +1 -0
  1415. data/assets/uswds/img/usa-icons/cloud.svg +1 -0
  1416. data/assets/uswds/img/usa-icons/code.svg +1 -0
  1417. data/assets/uswds/img/usa-icons/comment.svg +1 -0
  1418. data/assets/uswds/img/usa-icons/connect_without_contact.svg +1 -0
  1419. data/assets/uswds/img/usa-icons/construction.svg +1 -0
  1420. data/assets/uswds/img/usa-icons/construction_worker.svg +1 -0
  1421. data/assets/uswds/img/usa-icons/contact_page.svg +1 -0
  1422. data/assets/uswds/img/usa-icons/content_copy.svg +1 -0
  1423. data/assets/uswds/img/usa-icons/coronavirus.svg +1 -0
  1424. data/assets/uswds/img/usa-icons/credit_card.svg +1 -0
  1425. data/assets/uswds/img/usa-icons/deck.svg +1 -0
  1426. data/assets/uswds/img/usa-icons/delete.svg +1 -0
  1427. data/assets/uswds/img/usa-icons/device_thermostat.svg +1 -0
  1428. data/assets/uswds/img/usa-icons/directions.svg +1 -0
  1429. data/assets/uswds/img/usa-icons/directions_bike.svg +1 -0
  1430. data/assets/uswds/img/usa-icons/directions_bus.svg +1 -0
  1431. data/assets/uswds/img/usa-icons/directions_car.svg +1 -0
  1432. data/assets/uswds/img/usa-icons/directions_walk.svg +1 -0
  1433. data/assets/uswds/img/usa-icons/do_not_disturb.svg +1 -0
  1434. data/assets/uswds/img/usa-icons/do_not_touch.svg +1 -0
  1435. data/assets/uswds/img/usa-icons/drag_handle.svg +1 -0
  1436. data/assets/uswds/img/usa-icons/eco.svg +1 -0
  1437. data/assets/uswds/img/usa-icons/edit.svg +1 -0
  1438. data/assets/uswds/img/usa-icons/electrical_services.svg +1 -0
  1439. data/assets/uswds/img/usa-icons/emoji_events.svg +1 -0
  1440. data/assets/uswds/img/usa-icons/error.svg +1 -0
  1441. data/assets/uswds/img/usa-icons/error_outline.svg +1 -0
  1442. data/assets/uswds/img/usa-icons/event.svg +1 -0
  1443. data/assets/uswds/img/usa-icons/expand_less.svg +1 -0
  1444. data/assets/uswds/img/usa-icons/expand_more.svg +1 -0
  1445. data/assets/uswds/img/usa-icons/facebook.svg +1 -0
  1446. data/assets/uswds/img/usa-icons/fast_forward.svg +1 -0
  1447. data/assets/uswds/img/usa-icons/fast_rewind.svg +1 -0
  1448. data/assets/uswds/img/usa-icons/favorite.svg +1 -0
  1449. data/assets/uswds/img/usa-icons/favorite_border.svg +1 -0
  1450. data/assets/uswds/img/usa-icons/file_download.svg +1 -0
  1451. data/assets/uswds/img/usa-icons/file_present.svg +1 -0
  1452. data/assets/uswds/img/usa-icons/file_upload.svg +1 -0
  1453. data/assets/uswds/img/usa-icons/filter_alt.svg +1 -0
  1454. data/assets/uswds/img/usa-icons/filter_list.svg +1 -0
  1455. data/assets/uswds/img/usa-icons/fingerprint.svg +1 -0
  1456. data/assets/uswds/img/usa-icons/first_page.svg +1 -0
  1457. data/assets/uswds/img/usa-icons/flag.svg +1 -0
  1458. data/assets/uswds/img/usa-icons/flickr.svg +1 -0
  1459. data/assets/uswds/img/usa-icons/flight.svg +1 -0
  1460. data/assets/uswds/img/usa-icons/flooding.svg +1 -0
  1461. data/assets/uswds/img/usa-icons/folder.svg +1 -0
  1462. data/assets/uswds/img/usa-icons/folder_open.svg +1 -0
  1463. data/assets/uswds/img/usa-icons/format_quote.svg +1 -0
  1464. data/assets/uswds/img/usa-icons/format_size.svg +1 -0
  1465. data/assets/uswds/img/usa-icons/forum.svg +1 -0
  1466. data/assets/uswds/img/usa-icons/github.svg +1 -0
  1467. data/assets/uswds/img/usa-icons/grid_view.svg +1 -0
  1468. data/assets/uswds/img/usa-icons/group_add.svg +1 -0
  1469. data/assets/uswds/img/usa-icons/groups.svg +1 -0
  1470. data/assets/uswds/img/usa-icons/hearing.svg +1 -0
  1471. data/assets/uswds/img/usa-icons/help.svg +1 -0
  1472. data/assets/uswds/img/usa-icons/help_outline.svg +1 -0
  1473. data/assets/uswds/img/usa-icons/highlight_off.svg +1 -0
  1474. data/assets/uswds/img/usa-icons/history.svg +1 -0
  1475. data/assets/uswds/img/usa-icons/home.svg +1 -0
  1476. data/assets/uswds/img/usa-icons/hospital.svg +1 -0
  1477. data/assets/uswds/img/usa-icons/hotel.svg +1 -0
  1478. data/assets/uswds/img/usa-icons/hourglass_empty.svg +1 -0
  1479. data/assets/uswds/img/usa-icons/hurricane.svg +1 -0
  1480. data/assets/uswds/img/usa-icons/identification.svg +1 -0
  1481. data/assets/uswds/img/usa-icons/image.svg +1 -0
  1482. data/assets/uswds/img/usa-icons/info.svg +1 -0
  1483. data/assets/uswds/img/usa-icons/info_outline.svg +1 -0
  1484. data/assets/uswds/img/usa-icons/insights.svg +1 -0
  1485. data/assets/uswds/img/usa-icons/instagram.svg +1 -0
  1486. data/assets/uswds/img/usa-icons/keyboard.svg +1 -0
  1487. data/assets/uswds/img/usa-icons/label.svg +1 -0
  1488. data/assets/uswds/img/usa-icons/language.svg +1 -0
  1489. data/assets/uswds/img/usa-icons/last_page.svg +1 -0
  1490. data/assets/uswds/img/usa-icons/launch.svg +1 -0
  1491. data/assets/uswds/img/usa-icons/lightbulb.svg +1 -0
  1492. data/assets/uswds/img/usa-icons/lightbulb_outline.svg +1 -0
  1493. data/assets/uswds/img/usa-icons/link.svg +1 -0
  1494. data/assets/uswds/img/usa-icons/link_off.svg +1 -0
  1495. data/assets/uswds/img/usa-icons/list.svg +1 -0
  1496. data/assets/uswds/img/usa-icons/local_cafe.svg +1 -0
  1497. data/assets/uswds/img/usa-icons/local_fire_department.svg +1 -0
  1498. data/assets/uswds/img/usa-icons/local_gas_station.svg +1 -0
  1499. data/assets/uswds/img/usa-icons/local_grocery_store.svg +1 -0
  1500. data/assets/uswds/img/usa-icons/local_hospital.svg +1 -0
  1501. data/assets/uswds/img/usa-icons/local_laundry_service.svg +1 -0
  1502. data/assets/uswds/img/usa-icons/local_library.svg +1 -0
  1503. data/assets/uswds/img/usa-icons/local_offer.svg +1 -0
  1504. data/assets/uswds/img/usa-icons/local_parking.svg +1 -0
  1505. data/assets/uswds/img/usa-icons/local_pharmacy.svg +1 -0
  1506. data/assets/uswds/img/usa-icons/local_police.svg +1 -0
  1507. data/assets/uswds/img/usa-icons/local_taxi.svg +1 -0
  1508. data/assets/uswds/img/usa-icons/location_city.svg +1 -0
  1509. data/assets/uswds/img/usa-icons/location_on.svg +1 -0
  1510. data/assets/uswds/img/usa-icons/lock.svg +1 -0
  1511. data/assets/uswds/img/usa-icons/lock_open.svg +1 -0
  1512. data/assets/uswds/img/usa-icons/lock_outline.svg +1 -0
  1513. data/assets/uswds/img/usa-icons/login.svg +1 -0
  1514. data/assets/uswds/img/usa-icons/logout.svg +1 -0
  1515. data/assets/uswds/img/usa-icons/loop.svg +1 -0
  1516. data/assets/uswds/img/usa-icons/mail.svg +1 -0
  1517. data/assets/uswds/img/usa-icons/mail_outline.svg +1 -0
  1518. data/assets/uswds/img/usa-icons/map.svg +1 -0
  1519. data/assets/uswds/img/usa-icons/masks.svg +1 -0
  1520. data/assets/uswds/img/usa-icons/medical_services.svg +1 -0
  1521. data/assets/uswds/img/usa-icons/menu.svg +1 -0
  1522. data/assets/uswds/img/usa-icons/military_tech.svg +1 -0
  1523. data/assets/uswds/img/usa-icons/more_horiz.svg +1 -0
  1524. data/assets/uswds/img/usa-icons/more_vert.svg +1 -0
  1525. data/assets/uswds/img/usa-icons/my_location.svg +1 -0
  1526. data/assets/uswds/img/usa-icons/navigate_before.svg +1 -0
  1527. data/assets/uswds/img/usa-icons/navigate_far_before.svg +1 -0
  1528. data/assets/uswds/img/usa-icons/navigate_far_next.svg +1 -0
  1529. data/assets/uswds/img/usa-icons/navigate_next.svg +1 -0
  1530. data/assets/uswds/img/usa-icons/near_me.svg +1 -0
  1531. data/assets/uswds/img/usa-icons/notifications.svg +1 -0
  1532. data/assets/uswds/img/usa-icons/notifications_active.svg +1 -0
  1533. data/assets/uswds/img/usa-icons/notifications_none.svg +1 -0
  1534. data/assets/uswds/img/usa-icons/notifications_off.svg +1 -0
  1535. data/assets/uswds/img/usa-icons/park.svg +1 -0
  1536. data/assets/uswds/img/usa-icons/people.svg +1 -0
  1537. data/assets/uswds/img/usa-icons/person.svg +1 -0
  1538. data/assets/uswds/img/usa-icons/pets.svg +1 -0
  1539. data/assets/uswds/img/usa-icons/phone.svg +1 -0
  1540. data/assets/uswds/img/usa-icons/photo_camera.svg +1 -0
  1541. data/assets/uswds/img/usa-icons/print.svg +1 -0
  1542. data/assets/uswds/img/usa-icons/priority_high.svg +1 -0
  1543. data/assets/uswds/img/usa-icons/public.svg +1 -0
  1544. data/assets/uswds/img/usa-icons/push_pin.svg +1 -0
  1545. data/assets/uswds/img/usa-icons/radio_button_unchecked.svg +1 -0
  1546. data/assets/uswds/img/usa-icons/rain.svg +1 -0
  1547. data/assets/uswds/img/usa-icons/reduce_capacity.svg +1 -0
  1548. data/assets/uswds/img/usa-icons/remove.svg +1 -0
  1549. data/assets/uswds/img/usa-icons/remove_red_eye.svg +1 -0
  1550. data/assets/uswds/img/usa-icons/report.svg +1 -0
  1551. data/assets/uswds/img/usa-icons/restaurant.svg +1 -0
  1552. data/assets/uswds/img/usa-icons/rss_feed.svg +1 -0
  1553. data/assets/uswds/img/usa-icons/safety_divider.svg +1 -0
  1554. data/assets/uswds/img/usa-icons/sanitizer.svg +1 -0
  1555. data/assets/uswds/img/usa-icons/save_alt.svg +1 -0
  1556. data/assets/uswds/img/usa-icons/schedule.svg +1 -0
  1557. data/assets/uswds/img/usa-icons/school.svg +1 -0
  1558. data/assets/uswds/img/usa-icons/science.svg +1 -0
  1559. data/assets/uswds/img/usa-icons/search.svg +1 -0
  1560. data/assets/uswds/img/usa-icons/security.svg +1 -0
  1561. data/assets/uswds/img/usa-icons/send.svg +1 -0
  1562. data/assets/uswds/img/usa-icons/sentiment_dissatisfied.svg +1 -0
  1563. data/assets/uswds/img/usa-icons/sentiment_neutral.svg +1 -0
  1564. data/assets/uswds/img/usa-icons/sentiment_satisfied.svg +1 -0
  1565. data/assets/uswds/img/usa-icons/sentiment_satisfied_alt.svg +1 -0
  1566. data/assets/uswds/img/usa-icons/sentiment_very_dissatisfied.svg +1 -0
  1567. data/assets/uswds/img/usa-icons/settings.svg +1 -0
  1568. data/assets/uswds/img/usa-icons/severe_weather.svg +1 -0
  1569. data/assets/uswds/img/usa-icons/share.svg +1 -0
  1570. data/assets/uswds/img/usa-icons/shield.svg +1 -0
  1571. data/assets/uswds/img/usa-icons/shopping_basket.svg +1 -0
  1572. data/assets/uswds/img/usa-icons/snow.svg +1 -0
  1573. data/assets/uswds/img/usa-icons/soap.svg +1 -0
  1574. data/assets/uswds/img/usa-icons/social_distance.svg +1 -0
  1575. data/assets/uswds/img/usa-icons/sort_arrow.svg +1 -0
  1576. data/assets/uswds/img/usa-icons/spellcheck.svg +1 -0
  1577. data/assets/uswds/img/usa-icons/star.svg +1 -0
  1578. data/assets/uswds/img/usa-icons/star_half.svg +1 -0
  1579. data/assets/uswds/img/usa-icons/star_outline.svg +1 -0
  1580. data/assets/uswds/img/usa-icons/store.svg +1 -0
  1581. data/assets/uswds/img/usa-icons/support.svg +1 -0
  1582. data/assets/uswds/img/usa-icons/support_agent.svg +1 -0
  1583. data/assets/uswds/img/usa-icons/text_fields.svg +1 -0
  1584. data/assets/uswds/img/usa-icons/thumb_down_off_alt.svg +1 -0
  1585. data/assets/uswds/img/usa-icons/thumb_up_alt.svg +1 -0
  1586. data/assets/uswds/img/usa-icons/timer.svg +1 -0
  1587. data/assets/uswds/img/usa-icons/toggle_off.svg +1 -0
  1588. data/assets/uswds/img/usa-icons/toggle_on.svg +1 -0
  1589. data/assets/uswds/img/usa-icons/topic.svg +1 -0
  1590. data/assets/uswds/img/usa-icons/tornado.svg +1 -0
  1591. data/assets/uswds/img/usa-icons/translate.svg +1 -0
  1592. data/assets/uswds/img/usa-icons/trending_down.svg +1 -0
  1593. data/assets/uswds/img/usa-icons/trending_up.svg +1 -0
  1594. data/assets/uswds/img/usa-icons/twitter.svg +1 -0
  1595. data/assets/uswds/img/usa-icons/undo.svg +1 -0
  1596. data/assets/uswds/img/usa-icons/unfold_less.svg +1 -0
  1597. data/assets/uswds/img/usa-icons/unfold_more.svg +1 -0
  1598. data/assets/uswds/img/usa-icons/update.svg +1 -0
  1599. data/assets/uswds/img/usa-icons/upload_file.svg +1 -0
  1600. data/assets/uswds/img/usa-icons/verified.svg +1 -0
  1601. data/assets/uswds/img/usa-icons/verified_user.svg +1 -0
  1602. data/assets/uswds/img/usa-icons/visibility.svg +1 -0
  1603. data/assets/uswds/img/usa-icons/visibility_off.svg +1 -0
  1604. data/assets/uswds/img/usa-icons/volume_off.svg +1 -0
  1605. data/assets/uswds/img/usa-icons/warning.svg +1 -0
  1606. data/assets/uswds/img/usa-icons/wash.svg +1 -0
  1607. data/assets/uswds/img/usa-icons/wifi.svg +1 -0
  1608. data/assets/uswds/img/usa-icons/work.svg +1 -0
  1609. data/assets/uswds/img/usa-icons/youtube.svg +1 -0
  1610. data/assets/uswds/img/usa-icons/zoom_in.svg +1 -0
  1611. data/assets/uswds/img/usa-icons/zoom_out.svg +1 -0
  1612. data/assets/uswds/img/usa-icons/zoom_out_map.svg +1 -0
  1613. data/assets/uswds/js/uswds-init.js +40 -0
  1614. data/assets/uswds/js/uswds-init.min.js +2 -0
  1615. data/assets/uswds/js/uswds-init.min.js.map +1 -0
  1616. data/assets/uswds/js/uswds.js +290 -50
  1617. data/assets/uswds/js/uswds.min.js +1 -1
  1618. data/assets/uswds/js/uswds.min.js.map +1 -1
  1619. metadata +1564 -3
@@ -10,7 +10,8 @@
10
10
  transition: $project-easing;
11
11
  z-index: z-index(100);
12
12
 
13
- &:focus {
13
+ &:focus,
14
+ &.usa-focus {
14
15
  background: color("white");
15
16
  left: 0;
16
17
  position: absolute;
@@ -0,0 +1,67 @@
1
+ $summary-box-context: "Summary Box";
2
+
3
+ .usa-summary-box {
4
+ @include typeset($theme-summary-box-font-family);
5
+ @include border-box-sizing;
6
+ @include set-text-and-bg(
7
+ $theme-summary-box-background-color,
8
+ $theme-summary-box-text-color,
9
+ $context: $summary-box-context
10
+ );
11
+ @include u-radius($theme-summary-box-border-radius);
12
+ border: $theme-summary-box-border-width color($theme-summary-box-border-color)
13
+ solid;
14
+ padding: units(3);
15
+ position: relative;
16
+
17
+ .usa-list {
18
+ &:last-child {
19
+ margin-bottom: 0;
20
+ }
21
+ }
22
+
23
+ * + & {
24
+ margin-top: units(2);
25
+ }
26
+ }
27
+
28
+ .usa-summary-box__body {
29
+ display: table-cell;
30
+ vertical-align: top;
31
+ }
32
+
33
+ .usa-summary-box__heading {
34
+ @include typeset($theme-summary-box-font-family, "lg", 2);
35
+ margin-top: 0;
36
+ margin-bottom: units(1);
37
+ }
38
+
39
+ .usa-summary-box__text {
40
+ @include u-margin-y(0);
41
+ }
42
+
43
+ .usa-summary-box__text:only-child {
44
+ margin-bottom: $theme-summary-box-border-width;
45
+ padding-top: units(0.5);
46
+ }
47
+
48
+ .usa-summary-box__link {
49
+ @include set-link-from-bg(
50
+ $theme-summary-box-background-color,
51
+ $theme-summary-box-link-color,
52
+ $context: $summary-box-context
53
+ );
54
+ &[href^="#"] {
55
+ $link-tokens: get-link-tokens-from-bg(
56
+ $theme-summary-box-background-color,
57
+ $theme-summary-box-link-color,
58
+ $context: $summary-box-context
59
+ );
60
+ &:visited {
61
+ color: color(nth($link-tokens, 1));
62
+ }
63
+ &:hover {
64
+ color: color(nth($link-tokens, 2));
65
+ }
66
+ }
67
+ }
@@ -22,6 +22,43 @@ General-purpose functions
22
22
  ----------------------------------------
23
23
  */
24
24
 
25
+ /*
26
+ ----------------------------------------
27
+ uswds-error()
28
+ ----------------------------------------
29
+ Allow the system to pass an error as text
30
+ to test error states in unit testing
31
+ ----------------------------------------
32
+ */
33
+
34
+ $_error-output-override: false !default;
35
+ @function uswds-error($message, $override: $_error-output-override) {
36
+ @if $override {
37
+ @return "Error: #{$message}";
38
+ }
39
+
40
+ @error "#{$message}";
41
+ }
42
+
43
+ /*
44
+ ----------------------------------------
45
+ error-not-token()
46
+ ----------------------------------------
47
+ Returns a common not-a-token error.
48
+ ----------------------------------------
49
+ */
50
+
51
+ @function error-not-token($token, $type, $valid-token-map: false) {
52
+ $valid-token-message: if(
53
+ $valid-token-map,
54
+ " Valid tokens: #{map-keys($valid-token-map)}",
55
+ ""
56
+ );
57
+ @return uswds-error(
58
+ "'#{$token}' is not a valid USWDS #{$type} token.#{$valid-token-message}"
59
+ );
60
+ }
61
+
25
62
  /*
26
63
  ----------------------------------------
27
64
  map-deep-get()
@@ -403,8 +440,7 @@ not exist in the typeface-token map.
403
440
 
404
441
  @function validate-typeface-token($typeface-token) {
405
442
  @if not map-has-key($all-typeface-tokens, $typeface-token) {
406
- @error '`#{$typeface-token}` is not a valid typeface token. '
407
- + 'Valid tokens: #{map-keys($all-typeface-tokens)} ';
443
+ @return error-not-token($typeface-token, "typeface", $all-typeface-tokens);
408
444
  }
409
445
 
410
446
  @return $typeface-token;
@@ -481,15 +517,13 @@ withholds certain errors.
481
517
 
482
518
  @function utility-font($family, $scale) {
483
519
  @if not map-has-key($project-cap-heights, $family) {
484
- @error '#{$family} is not a valid font family token. '
485
- + 'Valid tokens: #{map-keys($project-cap-heights)}';
520
+ @return error-not-token($family, "font family", $project-cap-heights);
486
521
  }
487
522
 
488
523
  $quote-scale: smart-quote($scale);
489
524
 
490
525
  @if not map-get($all-type-scale, $quote-scale) {
491
- @error '`#{$scale}` is not a valid font scale token. '
492
- + 'Valid tokens: #{map-keys($all-type-scale)}';
526
+ @return error-not-token($scale, "font scale", $all-type-scale);
493
527
  }
494
528
 
495
529
  $this-cap: map-get($project-cap-heights, $family);
@@ -524,13 +558,11 @@ a family and a line-height scale unit
524
558
  $scale: smart-quote(nth($props, 2));
525
559
 
526
560
  @if not map-has-key($project-cap-heights, $family) {
527
- @error '#{$family} is not a valid font family token. '
528
- + 'Valid tokens: #{map-keys($project-cap-heights)}';
561
+ @return error-not-token($family, "font family", $project-cap-heights);
529
562
  }
530
563
 
531
564
  @if not map-get($system-line-height, $scale) {
532
- @error '`#{$scale}` is not a valid line-height token. '
533
- + 'Valid tokens: #{map-keys($system-line-height)}';
565
+ @return error-not-token($scale, "line-height", $system-line-height);
534
566
  }
535
567
 
536
568
  @if not map-get($project-cap-heights, $family) {
@@ -725,8 +757,7 @@ Get a value from the system type scale
725
757
  }
726
758
 
727
759
  @if not map-has-key($system-type-scale, $scale) {
728
- @error '`#{$scale}` is not a valid type scale token. '
729
- + 'Valid tokens: #{map-keys($system-type-scale)}';
760
+ @return error-not-token($scale, "type scale", $system-type-scale);
730
761
  }
731
762
 
732
763
  @return map-get($system-type-scale, $scale);
@@ -747,7 +778,7 @@ grid.
747
778
  $gap-size: smart-quote($gap-size);
748
779
 
749
780
  @if not map-has-key($spacing-to-value, $gap-size) {
750
- @error '`#{$gap-size}` is not a valid USWDS gap size token.';
781
+ @return error-not-token($gap-size, "gap size");
751
782
  }
752
783
 
753
784
  $numeric-eq: map-get($spacing-to-value, $gap-size);
@@ -877,9 +908,7 @@ functions and mixins.
877
908
 
878
909
  // TODO: what are these last two cases? Evaluate.
879
910
  @if not(type-of($value) == "number" and not unitless($value)) {
880
- @error '`#{$value}` is not a valid `#{$property}` token. '
881
- + 'You should correct this. Standard `#{$property}` tokens: '
882
- + ' #{map-keys($our-standard-values)}';
911
+ @return error-not-token($value, $property, $our-standard-values);
883
912
  }
884
913
 
885
914
  @if $theme-show-compile-warnings {
@@ -1064,7 +1093,7 @@ Includes helper functions
1064
1093
 
1065
1094
  /*
1066
1095
  ----------------------------------------
1067
- decompose()
1096
+ decompose-color-token()
1068
1097
  ----------------------------------------
1069
1098
  Convert a color token into into a list
1070
1099
  of form [family], [grade], [variant]
@@ -1073,11 +1102,11 @@ Vivid variants return "vivid" as the
1073
1102
  variant.
1074
1103
 
1075
1104
  If neither grade nor variant exists,
1076
- returns 'null'
1105
+ returns 'false'
1077
1106
  ----------------------------------------
1078
1107
  */
1079
1108
 
1080
- @function decompose($token) {
1109
+ @function decompose-color-token($token) {
1081
1110
  $separator: "-";
1082
1111
  $family: false;
1083
1112
  $grade: false;
@@ -1086,28 +1115,51 @@ returns 'null'
1086
1115
  "black": 100,
1087
1116
  "white": 0,
1088
1117
  );
1089
-
1090
- $token: get-color-token-assignment($token);
1091
- $split: str-split($token, $separator);
1092
- $grade: nth($split, length($split));
1093
-
1094
- @if str-index($grade, "v") {
1095
- $variant: "vivid";
1096
- $grade: str-slice($grade, 1, (str-index($grade, "v") - 1));
1097
- }
1098
-
1099
- @if length($split) == 3 {
1100
- $family: nth($split, 1) + $separator + nth($split, 2);
1118
+ $token: if($token == "ink", "base-darkest", $token);
1119
+ // If there's no separator, set family and grade
1120
+ @if not str-index($token, $separator) {
1121
+ $family: $token;
1122
+ $grade: if(
1123
+ map-has-key($exceptions, $family),
1124
+ map-get($exceptions, $family),
1125
+ "root"
1126
+ );
1101
1127
  } @else {
1102
- $family: nth($split, 1);
1103
- }
1104
-
1105
- $grade: to-number($grade);
1106
-
1107
- @if map-has-key($exceptions, $family) {
1108
- $grade: map-get($exceptions, $family);
1128
+ $split: str-split($token, $separator);
1129
+ $last: nth($split, length($split));
1130
+ // If the last string is over 3 char, it's a theme token
1131
+ @if str-length($last) > 3 {
1132
+ @if $last == "vivid" {
1133
+ $variant: "vivid";
1134
+ $grade: "root";
1135
+ } @else if $last == "warm" or $last == "cool" {
1136
+ $grade: "root";
1137
+ } @else {
1138
+ $grade: $last;
1139
+ }
1140
+ // Otherwise treat as system token
1141
+ } @else {
1142
+ // Determine if it's a vivid variant
1143
+ @if str-index($last, "v") {
1144
+ $variant: "vivid";
1145
+ $grade: str-slice($last, 1, (str-index($last, "v") - 1));
1146
+ } @else {
1147
+ $grade: $last;
1148
+ }
1149
+ // Make sure the grade is a number
1150
+ $grade: if(type-of($grade) == "string", to-number($grade), $grade);
1151
+ }
1152
+ // Collect compound-word families
1153
+ $is-compound-family: false;
1154
+ @if length($split) == 3 or index($split, "warm") or index($split, "cool") {
1155
+ $is-compound-family: true;
1156
+ }
1157
+ @if $is-compound-family {
1158
+ $family: nth($split, 1) + $separator + nth($split, 2);
1159
+ } @else {
1160
+ $family: nth($split, 1);
1161
+ }
1109
1162
  }
1110
-
1111
1163
  @return $family, $grade, $variant;
1112
1164
  }
1113
1165
 
@@ -1130,17 +1182,17 @@ results than expected.
1130
1182
  "white-transparent";
1131
1183
 
1132
1184
  @each $token, $value in $map {
1133
- $family: nth(decompose($token), 1);
1134
- $grade: nth(decompose($token), 2);
1185
+ $family: nth(decompose-color-token($token), 1);
1186
+ $grade: nth(decompose-color-token($token), 2);
1135
1187
  @if not $value {
1136
1188
  // empty block
1137
1189
  } @else if not index($exceptions, $family) {
1138
- $computed: get-color-grade($value);
1190
+ $computed: calculate-grade($value);
1139
1191
  @debug "Checked #{$family}-#{$grade}";
1140
1192
  @if $grade <= 5 {
1141
1193
  // empty block
1142
1194
  } @else if $computed != $grade {
1143
- @warn "#{$token} (#{$value}) lum: #{luminance($value)} is not in the range #{map-get($system-luminance-grade-ranges, $grade)}";
1195
+ @warn "#{$token} (#{$value}) lum: #{luminance($value)} is not in the range #{map-get($system-color-grades, $grade)}";
1144
1196
  }
1145
1197
  }
1146
1198
  }
@@ -1197,75 +1249,147 @@ string
1197
1249
 
1198
1250
  /*
1199
1251
  ----------------------------------------
1200
- get-color-token-assignment()
1252
+ is-system-color-token()
1253
+ ----------------------------------------
1254
+ Return whether a token is a system
1255
+ color token
1256
+ ----------------------------------------
1257
+ */
1258
+
1259
+ @function is-system-color-token($token) {
1260
+ @if map-has-key($system-color-shortcodes, $token) {
1261
+ @return true;
1262
+ }
1263
+ @return false;
1264
+ }
1265
+
1266
+ /*
1267
+ ----------------------------------------
1268
+ is-theme-color-token()
1269
+ ----------------------------------------
1270
+ Return whether a token is a theme
1271
+ color token
1272
+ ----------------------------------------
1273
+ */
1274
+
1275
+ @function is-theme-color-token($token) {
1276
+ @if map-has-key($project-color-shortcodes, $token) {
1277
+ @return true;
1278
+ }
1279
+ @return false;
1280
+ }
1281
+
1282
+ /*
1283
+ ----------------------------------------
1284
+ color-token-assignment()
1201
1285
  ----------------------------------------
1202
1286
  Get the system token equivalent of any
1203
1287
  theme color token
1204
1288
  ----------------------------------------
1205
1289
  */
1206
1290
 
1207
- @function get-color-token-assignment($color-token) {
1208
- $system-token: $color-token;
1209
- $grade: null;
1291
+ @function color-token-assignment($color-token) {
1292
+ @if is-system-color-token($color-token) {
1293
+ $system-token: $color-token;
1294
+ @return $system-token;
1295
+ }
1210
1296
 
1211
- @if map-has-key($assignments-theme-color, $color-token) {
1212
- $system-token: map-get($assignments-theme-color, $system-token);
1213
- } @else if not map-has-key($system-color-shortcodes, $color-token) {
1214
- @error "'#{$color-token}' is not a valid color token.";
1297
+ @if not is-theme-color-token($color-token) {
1298
+ @return error-not-token($color-token, "color");
1215
1299
  }
1216
1300
 
1217
- @return $system-token;
1301
+ $theme-token: $color-token;
1302
+ $theme-token-assignment: map-get($assignments-theme-color, $theme-token);
1303
+ @return $theme-token-assignment;
1218
1304
  }
1219
1305
 
1220
1306
  /*
1221
1307
  ----------------------------------------
1222
- get-color-grade()
1308
+ is-color-token()
1309
+ ----------------------------------------
1310
+ Returns whether a given string is a
1311
+ USWDS color token.
1312
+ ----------------------------------------
1313
+ */
1314
+
1315
+ @function is-color-token($token) {
1316
+ $is-color-token: if(map-has-key($all-color-shortcodes, $token), true, false);
1317
+ @return $is-color-token;
1318
+ }
1319
+
1320
+ /*
1321
+ ----------------------------------------
1322
+ calculate-grade()
1223
1323
  ----------------------------------------
1224
1324
  Derive the grade equivalent any color,
1225
1325
  even non-token colors
1226
1326
  ----------------------------------------
1227
1327
  */
1228
1328
 
1229
- @function get-color-grade($color-token) {
1329
+ @function calculate-grade($color-token) {
1330
+ $transparency-error: "USWDS can't calculate the grade of a transparent color. Avoid using transparency in theme colors and text.";
1230
1331
  $grade: null;
1231
1332
  $lum: null;
1232
- $color: false;
1333
+ $custom-color: false;
1334
+ $color-token-assignment: false;
1233
1335
 
1336
+ // Determine if the color is a custom color
1234
1337
  @if type-of($color-token) == "color" {
1235
- $color: $color-token;
1236
- } @else if type-of(get-color-token-assignment($color-token)) == "color" {
1237
- $color: get-color-token-assignment($color-token);
1238
- }
1239
-
1240
- @if $color {
1241
- $lum: luminance($color);
1242
-
1243
- @each $grade, $range in $system-luminance-grade-ranges {
1244
- $min: nth($range, 1);
1245
- $max: nth($range, 2);
1246
- $next-max: false;
1247
- @if $grade < 100 {
1248
- @if $grade == 5 {
1249
- $next-max: nth(map-get($system-luminance-grade-ranges, 10), 2);
1250
- } @else {
1251
- $next-max: nth(
1252
- map-get($system-luminance-grade-ranges, ($grade + 10)),
1253
- 2
1254
- );
1255
- }
1256
- }
1257
- @if ($lum >= $min) and ($lum <= $max) {
1258
- @return $grade;
1338
+ $custom-color: $color-token;
1339
+ } @else {
1340
+ $color-token-assignment: color-token-assignment($color-token);
1341
+ @if type-of($color-token-assignment) == "color" {
1342
+ $custom-color: color-token-assignment($color-token);
1343
+ }
1344
+ }
1345
+
1346
+ // If it's custom, compare its rLum to USWDS grade rLum ranges
1347
+ @if $custom-color {
1348
+ // If the color uses transparency, throw an error
1349
+ @if alpha($custom-color) != 1 {
1350
+ @return uswds-error($transparency-error);
1351
+ }
1352
+ $lum: luminance($custom-color);
1353
+ // Cycle through grades, knowing current AND next grade
1354
+ $our-grades: map-keys($system-color-grades);
1355
+ $grade-count: length($our-grades);
1356
+ @for $i from 1 through $grade-count {
1357
+ $this-grade: nth($our-grades, $i);
1358
+ $this-grade-min: map-deep-get($system-color-grades, $this-grade, "min");
1359
+ $this-grade-max: map-deep-get($system-color-grades, $this-grade, "max");
1360
+ $next-grade: if($i < $grade-count, nth($our-grades, $i + 1), false);
1361
+ $next-grade-min: if(
1362
+ $next-grade,
1363
+ map-deep-get($system-color-grades, $next-grade, "min"),
1364
+ false
1365
+ );
1366
+ // If the lum fits the range, assign a USWDS grade
1367
+ // Otherwise, set a grade midway between two USWDS grades
1368
+ @if ($lum >= $this-grade-min) and ($lum <= $this-grade-max) {
1369
+ @return $this-grade;
1259
1370
  }
1260
- @if $next-max and ($lum < $min) and ($lum > $next-max) {
1261
- @return $grade + 4.9;
1371
+ @if ($lum > $this-grade-max) and ($lum < $next-grade-min) {
1372
+ $custom-grade-midpoint: ($this-grade + $next-grade) / 2;
1373
+ $custom-grade: $custom-grade-midpoint;
1374
+ @return $custom-grade;
1262
1375
  }
1263
1376
  }
1264
1377
  }
1265
1378
 
1266
- $system-token: get-color-token-assignment($color-token);
1267
- $grade: nth(decompose($system-token), 2);
1268
- @return $grade;
1379
+ @if not is-color-token($color-token-assignment) {
1380
+ @return error-not-token($color-token-assignment, "color");
1381
+ }
1382
+
1383
+ $system-token: $color-token-assignment;
1384
+ $token-split: decompose-color-token($system-token);
1385
+ $token-family: color-token-family($token-split);
1386
+ // If the color uses transparency, throw an error
1387
+ @if str-index($token-family, "transparent") {
1388
+ @return uswds-error($transparency-error);
1389
+ }
1390
+ // Otherwise, return token grade
1391
+ $token-grade: color-token-grade($token-split);
1392
+ @return $token-grade;
1269
1393
  }
1270
1394
 
1271
1395
  /*
@@ -1328,9 +1452,7 @@ Derive a color from a color shortcode
1328
1452
  }
1329
1453
  }
1330
1454
 
1331
- @error '`#{$value}` is not a valid USWDS color token. '
1332
- + 'See designsystem.digital.gov/design-tokens/color '
1333
- + 'for more information.';
1455
+ @return error-not-token($value, "color");
1334
1456
  }
1335
1457
 
1336
1458
  /*
@@ -1346,7 +1468,7 @@ Derive a color from a color triplet:
1346
1468
  //
1347
1469
  // [family]
1348
1470
  // ex: color('primary')
1349
- // - the default in a theme palette family
1471
+ // - the root in a theme palette family
1350
1472
  //
1351
1473
  // [family], [grade]
1352
1474
  // ex: color('red', 50)
@@ -1402,9 +1524,9 @@ Derive a color from a color triplet:
1402
1524
  @return get-system-color($color-family, $color-grade, $color-variant);
1403
1525
  }
1404
1526
 
1405
- // non-number grades are associated with non-default theme colors
1527
+ // non-number grades are associated with non-root theme colors
1406
1528
  // ex: ('base', 'darker')
1407
- // default theme colors have no grade
1529
+ // root theme colors have no grade
1408
1530
  // ex: ('base')
1409
1531
  @if map-has-key($all-project-colors, $color-family) {
1410
1532
  @if not
@@ -1415,8 +1537,7 @@ Derive a color from a color triplet:
1415
1537
  + '#{map-keys(map-get($all-project-colors, $color-family))}';
1416
1538
  }
1417
1539
  } @else {
1418
- @error '`#{$color-family}` is not a valid theme family token. '
1419
- + 'Valid family tokens: #{map-keys($all-project-colors)}';
1540
+ @return error-not-token($color-family, "theme family", $all-project-colors);
1420
1541
  }
1421
1542
  @return map-deep-get($all-project-colors, $color-family, $color-grade);
1422
1543
  }
@@ -1438,9 +1559,7 @@ the desired final units (currently rem)
1438
1559
  );
1439
1560
 
1440
1561
  @if not map-has-key($project-spacing-standard, $converted) {
1441
- @error '`#{$value}` is not a valid spacing unit token. '
1442
- + 'Valid spacing unit tokens: '
1443
- + '#{map-keys($project-spacing-standard)}';
1562
+ @return error-not-token($value, "spacing unit", $project-spacing-standard);
1444
1563
  }
1445
1564
 
1446
1565
  @return map-get($project-spacing-standard, $converted);
@@ -1489,8 +1608,7 @@ border-radii
1489
1608
  @if map-has-key($all-border-radius, $value) {
1490
1609
  @return map-get($all-border-radius, $value);
1491
1610
  } @else {
1492
- @error '`#{$value}` is not a valid border radius token. '
1493
- + 'Valid tokens: #{map-keys($all-border-radius)}';
1611
+ @return error-not-token($value, "border radius", $all-border-radius);
1494
1612
  }
1495
1613
  }
1496
1614
 
@@ -1650,12 +1768,10 @@ Get type scale value from a [family] and
1650
1768
  $our-scale: smart-quote($scale);
1651
1769
 
1652
1770
  @if not map-has-key($project-cap-heights, $our-family) {
1653
- @error '#{$our-family} is not a valid font family token. '
1654
- + 'Valid tokens: #{map-keys($project-cap-heights)}';
1771
+ @return error-not-token($our-family, "font family", $project-cap-heights);
1655
1772
  }
1656
1773
  @if not map-get($all-type-scale, $our-scale) {
1657
- @error '`#{$our-scale}` is not a valid font scale token. '
1658
- + 'Valid token: #{map-keys($all-type-scale)}';
1774
+ @return error-not-token($our-scale, "font scale", $all-type-scale);
1659
1775
  }
1660
1776
 
1661
1777
  $this-cap: map-get($project-cap-heights, $our-family);
@@ -1698,257 +1814,553 @@ system z-index
1698
1814
  @return z-index($value);
1699
1815
  }
1700
1816
 
1701
- @function get-token-from-bg(
1702
- $bg-color,
1703
- $preferred-text-color: "white",
1704
- $fallback-text-color: "ink",
1705
- $wcag-target: "AA"
1706
- ) {
1707
- $magic-numbers: (
1708
- "AA": 50,
1709
- "AAA": 70,
1710
- "AA-large": 40,
1817
+ /*
1818
+ ----------------------------------------
1819
+ magic-number()
1820
+ ----------------------------------------
1821
+ Returns the magic number of two color
1822
+ grades. Takes numbers or color tokens.
1823
+
1824
+ magic-number(50, 10)
1825
+ return: 40
1826
+
1827
+ magic-number("red-50", "red-10")
1828
+ return: 40
1829
+ ----------------------------------------
1830
+ */
1831
+
1832
+ @function magic-number($grade-1, $grade-2) {
1833
+ $grade-1: if(
1834
+ type-of($grade-1) == "number",
1835
+ $grade-1,
1836
+ calculate-grade($grade-1)
1837
+ );
1838
+ $grade-2: if(
1839
+ type-of($grade-2) == "number",
1840
+ $grade-2,
1841
+ calculate-grade($grade-2)
1711
1842
  );
1712
- $target-magic-number: map-get($magic-numbers, $wcag-target);
1713
- $grade-bg: get-color-grade($bg-color);
1714
- $grade-preferred: get-color-grade($preferred-text-color);
1715
- $magic-num-preferred: abs($grade-bg - $grade-preferred);
1716
- $color: false;
1843
+ $magic-number: abs($grade-1 - $grade-2);
1844
+ @return $magic-number;
1845
+ }
1717
1846
 
1718
- //@debug "Background grade: #{$grade-bg} | Preferred text grade: #{$grade-preferred} | Magic number: #{$magic-num-preferred} | Target: #{$target-magic-number}";
1847
+ /*
1848
+ ----------------------------------------
1849
+ get-default()
1850
+ ----------------------------------------
1851
+ Returns the default value from a map
1852
+ of project defaults
1719
1853
 
1720
- @if $magic-num-preferred >= $target-magic-number {
1721
- $color: $preferred-text-color;
1722
- } @else {
1723
- $grade-fallback: get-color-grade($fallback-text-color);
1724
- $magic-num-fallback: abs($grade-bg - $grade-fallback);
1725
- $color: $fallback-text-color;
1726
- }
1854
+ get-default("bg-color")
1855
+ > $theme-body-background-color
1856
+ ----------------------------------------
1857
+ */
1858
+
1859
+ @function get-default($var) {
1860
+ $value: map-get($project-defaults, $var);
1861
+ @return $value;
1862
+ }
1863
+
1864
+ /*
1865
+ ----------------------------------------
1866
+ get-color-token-from-bg()
1867
+ ----------------------------------------
1868
+ Returns an accessible foreground color
1869
+ token, given a background, preferred
1870
+ color, fallback color, and WCAG target
1727
1871
 
1728
- @if not $color {
1729
- @error "Neither '#{$preferred-text-color}' nor '#{$fallback-text-color}' have #{$wcag-target} contrast on a '#{$bg-color}' background.";
1872
+ returns: color-token
1873
+
1874
+ get-color-token-from-bg(
1875
+ "black",
1876
+ "red-60",
1877
+ "red-10",
1878
+ "AA")
1879
+ > "red-10"
1880
+ ----------------------------------------
1881
+ */
1882
+
1883
+ @function get-color-token-from-bg(
1884
+ $bg-color: "default",
1885
+ $preferred-text-token: "default",
1886
+ $fallback-text-token: "default",
1887
+ $wcag-target: "AA",
1888
+ $context: false,
1889
+ $for: false
1890
+ ) {
1891
+ $for-text: if($for, "#{$for} ", "");
1892
+ $context-text: if($context, "[#{$context}] ", "");
1893
+ // Set defaults
1894
+ @if $bg-color == "default" {
1895
+ $bg-color: get-default("bg-color");
1896
+ }
1897
+ @if $preferred-text-token == "default" {
1898
+ $preferred-text-token: get-default("preferred-text-token");
1899
+ }
1900
+ @if $fallback-text-token == "default" {
1901
+ $fallback-text-token: get-default("fallback-text-token");
1902
+ }
1903
+ $target-magic-number: map-get($system-wcag-magic-numbers, $wcag-target);
1904
+ $bg-grade: calculate-grade($bg-color);
1905
+ $our-color-tokens: ($preferred-text-token, $fallback-text-token);
1906
+ $accessible-text-token: false;
1907
+ $accessible-text-grade: false;
1908
+ // Get the text color token
1909
+ // Check both text tokens.
1910
+ // Accept a token if it has specified accessible contrast.
1911
+ $best-token: false;
1912
+ $best-magic-number: 0;
1913
+ @each $token in $our-color-tokens {
1914
+ @if not $accessible-text-token {
1915
+ $token-grade: calculate-grade($token);
1916
+ $this-magic-number: magic-number($token-grade, $bg-grade);
1917
+ @if $this-magic-number > $best-magic-number {
1918
+ $best-magic-number: $this-magic-number;
1919
+ $best-token: $token;
1920
+ }
1921
+ @if is-accessible-magic-number($token-grade, $bg-grade, $wcag-target) {
1922
+ $accessible-text-token: $token;
1923
+ $accessible-text-grade: $token-grade;
1924
+ }
1925
+ }
1926
+ }
1927
+ // If neither is accessible,
1928
+ // warn the user and use the Preferred token
1929
+ @if not $accessible-text-token {
1930
+ $accessible-text-token: $best-token;
1931
+ @if $theme-show-compile-warnings {
1932
+ @warn "#{$context-text}Neither the specified preferred #{$for-text}color token (`#{$preferred-text-token}`) nor the fallback #{$for-text}color token (`#{$fallback-text-token}`) have #{$wcag-target} contrast on a `#{$bg-color}` background. Using `#{$best-token}`. Please check your source code and project settings.";
1933
+ }
1730
1934
  }
1731
1935
 
1732
- @return $color;
1936
+ @return $accessible-text-token;
1733
1937
  }
1734
1938
 
1735
- @function get-color-from-bg(
1736
- $bg-color,
1737
- $preferred-text-color: "white",
1738
- $fallback-text-color: "ink",
1739
- $wcag-target: "AA"
1939
+ /*
1940
+ ----------------------------------------
1941
+ get-link-tokens-from-bg()
1942
+ ----------------------------------------
1943
+ Get accessible link colors for a given
1944
+ background color
1945
+
1946
+ returns: link-token, hover-token
1947
+
1948
+ get-link-tokens-from-bg(
1949
+ "black",
1950
+ "red-60",
1951
+ "red-10",
1952
+ "AA")
1953
+ > "red-10", "red-5"
1954
+
1955
+ get-link-tokens-from-bg(
1956
+ "black",
1957
+ "red-60v",
1958
+ "red-10v",
1959
+ "AA-large")
1960
+ > "red-60v", "red-50v"
1961
+
1962
+ get-link-tokens-from-bg(
1963
+ "black",
1964
+ "red-5v",
1965
+ "red-60v",
1966
+ "AA")
1967
+ > "red-5v", "white"
1968
+
1969
+ get-link-tokens-from-bg(
1970
+ "black",
1971
+ "white",
1972
+ "red-60v",
1973
+ "AA")
1974
+ > "white", "white"
1975
+ ----------------------------------------
1976
+ */
1977
+
1978
+ @function get-link-tokens-from-bg(
1979
+ $bg-color: "default",
1980
+ $preferred-link-token: "default",
1981
+ $fallback-link-token: "default",
1982
+ $wcag-target: "AA",
1983
+ $context: false
1740
1984
  ) {
1741
- $color: get-token-from-bg(
1985
+ $context-text: if($context, "[#{$context}] ", "");
1986
+ $is-default: false;
1987
+ $is-default-preferred: false;
1988
+ $is-default-fallback: false;
1989
+ $default-reverse: false;
1990
+ $default-standard: false;
1991
+ @if $bg-color == "default" {
1992
+ $bg-color: get-default("bg-color");
1993
+ }
1994
+ @if $preferred-link-token == "default" {
1995
+ $preferred-link-token: get-default("preferred-link-token");
1996
+ $default-reverse: true;
1997
+ }
1998
+ @if $fallback-link-token == "default" {
1999
+ $fallback-link-token: get-default("fallback-link-token");
2000
+ $standard-reverse: true;
2001
+ }
2002
+ $bg-grade: calculate-grade($bg-color);
2003
+ $preferred-hover-token: false;
2004
+ $default-hover-token: false;
2005
+ $accessible-hover-token: false;
2006
+ $accessible-link-token: get-color-token-from-bg(
1742
2007
  $bg-color,
1743
- $preferred-text-color,
1744
- $fallback-text-color,
1745
- $wcag-target
2008
+ $preferred-link-token,
2009
+ $fallback-link-token,
2010
+ $wcag-target,
2011
+ $context,
2012
+ $for: "link"
1746
2013
  );
1747
- @return color($color);
2014
+ $accessible-link-grade: calculate-grade($accessible-link-token);
2015
+ // Get the hover color token
2016
+ // If link is lighter than bg set $is-reverse to true
2017
+ $is-reverse: if($accessible-link-grade < $bg-grade, true, false);
2018
+ // If using defaults, set the default hover
2019
+ // $link-kind is used for error messaging
2020
+ $link-kind: false;
2021
+ @if $is-reverse {
2022
+ @if $default-reverse {
2023
+ $default-hover-token: $theme-link-reverse-hover-color;
2024
+ $link-kind: "default reverse";
2025
+ }
2026
+ } @else if $default-standard {
2027
+ $default-hover-token: $theme-link-hover-color;
2028
+ $link-kind: "default";
2029
+ }
2030
+ @if $default-hover-token {
2031
+ $default-hover-grade: calculate-grade($default-hover-token);
2032
+ @if is-accessible-magic-number(
2033
+ $default-hover-grade,
2034
+ $bg-grade,
2035
+ $wcag-target
2036
+ )
2037
+ {
2038
+ $accessible-hover-token: $default-hover-token;
2039
+ }
2040
+ @if not $accessible-hover-token and $theme-show-compile-warnings {
2041
+ @warn "#{$context-text}The #{$link-kind} link hover (`#{$default-hover-token}`) does not have #{$wcag-target} contrast on a #{$bg-color} background. Please update your project settings.";
2042
+ }
2043
+ }
2044
+ @if not $accessible-hover-token {
2045
+ $direction: if($is-reverse, "lighter", "darker");
2046
+ $hover-token: next-token($accessible-link-token, $direction);
2047
+ // Use the next token, if it is valid
2048
+ @if $hover-token {
2049
+ $accessible-hover-token: $hover-token;
2050
+ // Otherwise use the token itself as hover, and warn.
2051
+ } @else {
2052
+ $accessible-hover-token: $accessible-link-token;
2053
+ @if $theme-show-compile-warnings {
2054
+ @warn "#{$context-text}A `#{$accessible-hover-token}` link does not have #{$direction} hover available. Hover set to link color.";
2055
+ }
2056
+ }
2057
+ }
2058
+ @return $accessible-link-token, $accessible-hover-token;
1748
2059
  }
1749
2060
 
1750
- @function get-link-tokens-from-bg(
1751
- $bg-color,
1752
- $preferred-link-color: $theme-link-color,
1753
- $fallback-link-color: $theme-link-reverse-color,
1754
- $wcag-target: "AA"
1755
- ) {
1756
- $magic-numbers: (
1757
- "AA": 50,
1758
- "AAA": 70,
1759
- "AA-large": 40,
1760
- );
1761
- $grade-step: 10;
1762
- $found: false;
1763
- $decomposed: false;
2061
+ /*
2062
+ ----------------------------------------
2063
+ color-token-type()
2064
+ ----------------------------------------
2065
+ Returns the type of a color token.
2066
+
2067
+ Returns: "system" | "theme"
2068
+ ----------------------------------------
2069
+ */
1764
2070
 
1765
- @if $preferred-link-color == default {
1766
- $preferred-link-color: $theme-link-color;
2071
+ @function color-token-type($token) {
2072
+ $type: if(is-system-color-token($token), "system", false);
2073
+ @if not $type {
2074
+ $type: if(is-theme-color-token($token), "theme", false);
2075
+ }
2076
+ @if not $type {
2077
+ @return error-not-token($token, "color");
1767
2078
  }
2079
+ @return $type;
2080
+ }
1768
2081
 
1769
- $target-magic-number: map-get($magic-numbers, $wcag-target);
1770
- $bg-grade: get-color-grade($bg-color);
1771
- $our-color-tokens: ($preferred-link-color, $fallback-link-color);
2082
+ /*
2083
+ ----------------------------------------
2084
+ color-token-family()
2085
+ ----------------------------------------
2086
+ Returns the family of a color token.
1772
2087
 
1773
- $link-token: false;
1774
- $hover-token: false;
2088
+ Returns: color-family
1775
2089
 
1776
- @each $color-token in $our-color-tokens {
1777
- //@debug "color token: " + $color-token;
1778
- // If the color token is a custom color, set a $custom flag
1779
- $custom: if(
1780
- type-of(map-get($assignments-theme-color, $color-token)) == "color",
1781
- true,
1782
- false
1783
- );
2090
+ color-token-family("accent-warm-vivid")
2091
+ > "accent-warm"
1784
2092
 
1785
- // Only get a link color if one has not yet been found
1786
- @if not $found {
1787
- $link-grade-token: get-color-grade($color-token);
1788
- $link-grade: if($link-grade-token < 10, 0, $link-grade-token);
1789
- $link-magic-number: abs($bg-grade - $link-grade);
1790
- $token-darker: false;
1791
- $token-lighter: false;
1792
- $link-family: false;
1793
- $link-vivid: false;
1794
- $hover-grade: false;
1795
- $hover-vivid: false;
1796
-
1797
- // If the link color is custom, output theme tokens, not system tokens
1798
- @if $custom {
1799
- //@debug "uses custom color.";
1800
- $custom-token: $color-token;
1801
- $custom-token-lighter: false;
1802
- $custom-token-darker: false;
1803
- $custom-split: str-split($custom-token, "-");
1804
- $custom-grade: false;
1805
- $custom-grade-lighter: false;
1806
- $custom-grade-darker: false;
1807
- //@debug "custom split:" + $custom-split;
1808
-
1809
- // set family as the first string in the split
1810
- $custom-family: nth($custom-split, 1);
1811
-
1812
- // ignore vivid in token calculations, treat as default
1813
- @if index($custom-split, "vivid") {
1814
- $custom-split: remove($custom-split, "vivid");
1815
- }
1816
-
1817
- // set family and grade for "accent" families, since their family includes the split character
1818
- @if $custom-family == "accent" {
1819
- $custom-family: $custom-family + "-" + nth($custom-split, 2);
1820
- $custom-grade: if(
1821
- length($custom-split) == 3,
1822
- nth($custom-split, 3),
1823
- "default"
1824
- );
1825
- } @else {
1826
- $custom-grade: if(
1827
- length($custom-split) == 2,
1828
- nth($custom-split, 2),
1829
- "default"
1830
- );
1831
- }
1832
-
1833
- //@debug "custom family: " + $custom-family;
1834
- //@debug "custom grade: " + $custom-grade;
1835
-
1836
- $custom-family-lighter: $custom-family;
1837
- $custom-family-darker: $custom-family;
1838
- $custom-grade-index: index($uswds-color-theme-grades, $custom-grade);
1839
-
1840
- // If it's the lightest grade, use "white" for the lighter family
1841
- @if $custom-grade-index == 1 {
1842
- $custom-family-lighter: "white";
1843
- } @else {
1844
- $custom-grade-lighter: nth(
1845
- $uswds-color-theme-grades,
1846
- ($custom-grade-index - 1)
1847
- );
1848
- }
1849
- //@debug "lighter grade: " + $custom-grade-lighter;
1850
- // If it's the darkest grade, use "black" for the lighter family
1851
- @if $custom-grade-index == length($uswds-color-theme-grades) {
1852
- $custom-family-darker: "black";
1853
- } @else {
1854
- $custom-grade-darker: nth(
1855
- $uswds-color-theme-grades,
1856
- ($custom-grade-index + 1)
1857
- );
1858
- }
1859
- //@debug "darker grade: " + $custom-grade-darker;
1860
-
1861
- // If any calculated grade is "default", don't output the grade
1862
- $custom-grade-darker: if(
1863
- $custom-grade-darker == "default",
1864
- false,
1865
- $custom-grade-darker
1866
- );
1867
- $custom-grade-lighter: if(
1868
- $custom-grade-lighter == "default",
1869
- false,
1870
- $custom-grade-lighter
1871
- );
1872
-
1873
- // Build the custom lighter and darker tokens
1874
- $token-darker: if(
1875
- $custom-grade-darker,
1876
- $custom-family + "-" + $custom-grade-darker,
1877
- $custom-family-darker
1878
- );
1879
- $token-lighter: if(
1880
- $custom-grade-lighter,
1881
- $custom-family + "-" + $custom-grade-lighter,
1882
- $custom-family-lighter
1883
- );
1884
- } @else {
1885
- //@debug "not custom";
1886
- $decomposed: decompose($color-token);
1887
- }
2093
+ color-token-family("red-50v")
2094
+ > "red"
1888
2095
 
1889
- @if $link-grade == 0 {
1890
- @warn 'Tokens with grades less than 10 (including "white") aren\'t valid link color tokens, since they have no lighter hover states.';
1891
- } @else if $link-grade == 100 {
1892
- @warn '"black" isn\'t a valid link color token, since it has no darker hover state.';
1893
- }
2096
+ color-token-variant(("red", 50, "vivid"))
2097
+ > "red"
2098
+ ----------------------------------------
2099
+ */
2100
+
2101
+ @function color-token-family($color-token) {
2102
+ $split: if(
2103
+ type-of($color-token) == "list",
2104
+ $color-token,
2105
+ decompose-color-token($color-token)
2106
+ );
2107
+ $family: nth($split, 1);
2108
+ @return $family;
2109
+ }
2110
+
2111
+ /*
2112
+ ----------------------------------------
2113
+ color-token-grade()
2114
+ ----------------------------------------
2115
+ Returns the grade of a USWDS color token.
2116
+
2117
+ Returns: color-grade
2118
+
2119
+ color-token-grade("accent-warm")
2120
+ > "root"
2121
+
2122
+ color-token-grade("accent-warm-vivid")
2123
+ > "root"
2124
+
2125
+ color-token-grade("accent-warm-darker")
2126
+ > "darker"
2127
+
2128
+ color-token-grade("red-50v")
2129
+ > 50
2130
+
2131
+ color-token-variant(("red", 50, "vivid"))
2132
+ > 50
2133
+ ----------------------------------------
2134
+ */
2135
+
2136
+ @function color-token-grade($color-token) {
2137
+ $split: if(
2138
+ type-of($color-token) == "list",
2139
+ $color-token,
2140
+ decompose-color-token($color-token)
2141
+ );
2142
+ $grade: nth($split, 2);
2143
+ @return $grade;
2144
+ }
2145
+
2146
+ /*
2147
+ ----------------------------------------
2148
+ color-token-variant()
2149
+ ----------------------------------------
2150
+ Returns the variant of color token.
2151
+
2152
+ Returns: "vivid" | false
2153
+
2154
+ color-token-variant("accent-warm")
2155
+ > false
2156
+
2157
+ color-token-variant("accent-warm-vivid")
2158
+ > "vivid"
2159
+
2160
+ color-token-variant("red-50v")
2161
+ > "vivid"
2162
+
2163
+ color-token-variant(("red", 50, "vivid"))
2164
+ > "vivid"
2165
+ ----------------------------------------
2166
+ */
1894
2167
 
1895
- // Check that link meets contrast target
1896
- @else if $link-magic-number >= $target-magic-number {
1897
- $found: true;
1898
- // Calculate additional link properties
1899
-
1900
- $link-token: $color-token;
1901
- @if not $custom {
1902
- $link-family: nth($decomposed, 1);
1903
- //@debug "link family: " + $link-family;
1904
- $link-vivid: "";
1905
- @if nth($decomposed, 3) {
1906
- $link-vivid: "v";
1907
- }
1908
- }
1909
-
1910
- // If link is darker than bg, use darker hover
1911
- // Exclude black as it has no darker hover
1912
- @if ($link-grade > $bg-grade) and ($link-grade != 100) {
1913
- //@debug "Link is darker than background";
1914
- @if $token-darker {
1915
- //@debug "Getting darker token...";
1916
- $hover-token: $token-darker;
1917
- } @else {
1918
- $hover-grade: $link-grade + $grade-step;
1919
- $hover-vivid: if($hover-grade == 90, "", $link-vivid);
1920
- $hover-token: if(
1921
- $hover-grade == 100,
1922
- "black",
1923
- #{$link-family}-#{$hover-grade}#{$hover-vivid}
1924
- );
1925
- }
1926
- }
1927
-
1928
- // If link is lighter than bg, use lighter hover
1929
- // Exclude white equivalents as they have no lighter hover
1930
- @else if ($link-grade != 0) and ($link-grade != 100) {
1931
- //@debug "Link is lighter than background";
1932
- @if $token-lighter {
1933
- //@debug "Getting lighter token...";
1934
- $hover-token: $token-lighter;
1935
- } @else {
1936
- $hover-grade: $link-grade - $grade-step;
1937
- $hover-token: if(
1938
- $hover-grade == 0,
1939
- "white",
1940
- #{$link-family}-#{$hover-grade}#{$link-vivid}
1941
- );
1942
- }
1943
- }
2168
+ @function color-token-variant($color-token) {
2169
+ $split: if(
2170
+ type-of($color-token) == "list",
2171
+ $color-token,
2172
+ decompose-color-token($color-token)
2173
+ );
2174
+ $variant: nth($split, 3);
2175
+ @return $variant;
2176
+ }
2177
+
2178
+ /*
2179
+ ----------------------------------------
2180
+ next-token()
2181
+ ----------------------------------------
2182
+ Returns next "darker" or "lighter" color
2183
+ token of the same token type and variant.
2184
+
2185
+ Returns: color-token | false
2186
+
2187
+ next-token("accent-warm", "lighter")
2188
+ > "accent-warm-light"
2189
+
2190
+ next-token("gray-10", "lighter")
2191
+ > "gray-5"
2192
+
2193
+ next-token("gray-5", "lighter")
2194
+ > "white"
2195
+
2196
+ next-token("white", "lighter")
2197
+ > false
2198
+
2199
+ next-token("red-50v", "darker")
2200
+ > "red-60v"
2201
+
2202
+ next-token("red-50", "darker")
2203
+ > "red-60"
2204
+
2205
+ next-token("red-80v", "darker")
2206
+ > "red-90"
2207
+
2208
+ next-token("red-90", "darker")
2209
+ > "black"
2210
+
2211
+ next-token("white", "darker")
2212
+ > "gray-5"
2213
+
2214
+ next-token("black", "lighter")
2215
+ > "gray-90"
2216
+ ----------------------------------------
2217
+ */
2218
+
2219
+ @function next-token($token, $direction) {
2220
+ $next-token: false;
2221
+ $type: color-token-type($token);
2222
+ $token-split: decompose-color-token($token);
2223
+ // 1. System case
2224
+ @if $type == "system" {
2225
+ // transparent tokens return don't have a next token
2226
+ @if $token == "transparent" {
2227
+ @return false;
2228
+ }
2229
+ // black and white tokens use the gray family for next
2230
+ $current-family: if(
2231
+ $token == "white" or $token == "black",
2232
+ "gray",
2233
+ color-token-family($token-split)
2234
+ );
2235
+ // black- and white-transparent tokens don't have a next
2236
+ @if str-index($current-family, "-transparent") {
2237
+ @return false;
2238
+ }
2239
+ $current-grade: color-token-grade($token-split);
2240
+ // Nothing can be darker than black or lighter than white
2241
+ @if $direction == "darker" and $current-grade == 100 {
2242
+ @return false;
2243
+ }
2244
+ @if $direction == "lighter" and $current-grade == 0 {
2245
+ @return false;
2246
+ }
2247
+ // Grades under 5 should be treated as 5
2248
+ @if $current-grade > 0 and $current-grade < 5 {
2249
+ $current-grade: 5;
2250
+ }
2251
+ $system-grade-list: map-keys($system-color-grades);
2252
+ $current-grade-index: index($system-grade-list, $current-grade);
2253
+ // Note: System grades go from darkest (100) to lightest (0)
2254
+ $next-grade: if(
2255
+ $direction == "darker",
2256
+ nth($system-grade-list, ($current-grade-index - 1)),
2257
+ nth($system-grade-list, ($current-grade-index + 1))
2258
+ );
2259
+ $output-grade: $next-grade;
2260
+ // Keep the same vivid variant as the parent
2261
+ // Note: Grade 90 has no vivid variant
2262
+ @if color-token-variant($token-split) == "vivid" and ($next-grade < 90) {
2263
+ $output-grade: $next-grade + "v";
2264
+ }
2265
+ // Use black and white tokens for grades 100 and 0...
2266
+ @if $next-grade == 100 {
2267
+ $next-token: "black";
2268
+ } @else if $next-grade == 0 {
2269
+ $next-token: "white";
2270
+ // ...Otherwise output token in expected form
2271
+ } @else {
2272
+ $next-token: $current-family + "-" + $output-grade;
2273
+ }
2274
+ // 2. Theme case
2275
+ } @else {
2276
+ $current-grade: color-token-grade($token-split);
2277
+ // Vivid theme token should be considered root for ordering
2278
+ $current-grade: if($current-grade == "vivid", "root", $current-grade);
2279
+ $current-family: color-token-family($token-split);
2280
+ // Ink should be considered base-darkest
2281
+ // TODO: Should it?
2282
+ @if $token == "ink" {
2283
+ $current-family: "base";
2284
+ $current-grade: "darkest";
2285
+ }
2286
+ // Black is darker than darkest
2287
+ @if $direction == "darker" and $current-grade == "darkest" {
2288
+ @return "black";
2289
+ }
2290
+ // White is lighter than lightest
2291
+ @if $direction == "lighter" and $current-grade == "lightest" {
2292
+ @return "white";
2293
+ }
2294
+ $theme-grade-list: map-keys($theme-color-grades);
2295
+ $current-grade-index: index($theme-grade-list, $current-grade);
2296
+ // Note: Theme grades go from `lightest` to `darkest`
2297
+ $next-grade: if(
2298
+ $direction == "darker",
2299
+ nth($theme-grade-list, ($current-grade-index + 1)),
2300
+ nth($theme-grade-list, ($current-grade-index - 1))
2301
+ );
2302
+ // Exclude `root` from token output
2303
+ @if $next-grade == "root" {
2304
+ @return $current-family;
2305
+ } @else {
2306
+ $next-token: $current-family + "-" + $next-grade;
2307
+ }
2308
+ // If the next color is set to false, use black/white instead
2309
+ @if not color-token-assignment($next-token) {
2310
+ @if $direction == "darker" {
2311
+ @return "black";
2312
+ }
2313
+ @if $direction == "lighter" {
2314
+ @return "white";
1944
2315
  }
1945
2316
  }
1946
2317
  }
2318
+ @return $next-token;
2319
+ }
1947
2320
 
1948
- @if not $hover-token {
1949
- @error 'Neither "#{$preferred-link-color}" nor "#{$fallback-link-color}" can be #{$wcag-target} contrast links and hovers on a "#{$bg-color}" background.';
1950
- }
2321
+ /*
2322
+ ----------------------------------------
2323
+ wcag-magic-number()
2324
+ ----------------------------------------
2325
+ Returns the magic number of a specific
2326
+ wcag grade:
2327
+
2328
+ "AA"
2329
+ "AA-Large"
2330
+ "AAA"
2331
+
2332
+ wcag-magic-number("AA")
2333
+ > 50
2334
+ ----------------------------------------
2335
+ */
2336
+
2337
+ @function wcag-magic-number($wcag-target) {
2338
+ $wcag-magic-number: map-get($system-wcag-magic-numbers, $wcag-target);
2339
+ @return $wcag-magic-number;
2340
+ }
2341
+
2342
+ /*
2343
+ ----------------------------------------
2344
+ is-accessible-magic-number()
2345
+ ----------------------------------------
2346
+ Returns whether two grades achieve
2347
+ specified target color contrast
2348
+
2349
+ Returns: true | false
1951
2350
 
1952
- //@debug "#{$link-token}, #{$hover-token}";
1953
- @return $link-token, $hover-token;
2351
+ is-accessible-magic-number(10, 50, "AA")
2352
+ > false
2353
+
2354
+ is-accessible-magic-number(10, 60, "AA")
2355
+ > true
2356
+ ----------------------------------------
2357
+ */
2358
+
2359
+ @function is-accessible-magic-number($grade-1, $grade-2, $wcag-target) {
2360
+ $target-magic-number: wcag-magic-number($wcag-target);
2361
+ $magic-number: magic-number($grade-1, $grade-2);
2362
+ @if $magic-number >= $target-magic-number {
2363
+ @return true;
2364
+ }
2365
+ @return false;
1954
2366
  }