@yahoo/uds-icons 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/dist/generated/iconNames.cjs +1 -1
  2. package/dist/generated/iconNames.d.cts +1 -1
  3. package/dist/generated/iconNames.d.ts +1 -1
  4. package/dist/generated/iconNames.js +1 -1
  5. package/dist/generated/icons/A11Y.cjs +1 -1
  6. package/dist/generated/icons/A11Y.js +1 -1
  7. package/dist/generated/icons/Accessible.cjs +1 -1
  8. package/dist/generated/icons/Accessible.js +1 -1
  9. package/dist/generated/icons/AccountRefresh.cjs +1 -1
  10. package/dist/generated/icons/AccountRefresh.js +1 -1
  11. package/dist/generated/icons/AccountSwitchAlt.cjs +1 -1
  12. package/dist/generated/icons/AccountSwitchAlt.js +1 -1
  13. package/dist/generated/icons/AccountSwitcher.cjs +1 -1
  14. package/dist/generated/icons/AccountSwitcher.js +1 -1
  15. package/dist/generated/icons/AcousticGuitar.cjs +1 -1
  16. package/dist/generated/icons/AcousticGuitar.js +1 -1
  17. package/dist/generated/icons/AddBell.cjs +1 -1
  18. package/dist/generated/icons/AddBell.js +1 -1
  19. package/dist/generated/icons/AddCalendar.cjs +1 -1
  20. package/dist/generated/icons/AddCalendar.js +1 -1
  21. package/dist/generated/icons/AddCheckCircle.cjs +1 -1
  22. package/dist/generated/icons/AddCheckCircle.js +1 -1
  23. package/dist/generated/icons/AddCircle.cjs +1 -1
  24. package/dist/generated/icons/AddCircle.js +1 -1
  25. package/dist/generated/icons/AddDocument.cjs +1 -1
  26. package/dist/generated/icons/AddDocument.js +1 -1
  27. package/dist/generated/icons/AddFace.cjs +1 -1
  28. package/dist/generated/icons/AddFace.js +1 -1
  29. package/dist/generated/icons/AddPeople.cjs +1 -1
  30. package/dist/generated/icons/AddPeople.js +1 -1
  31. package/dist/generated/icons/AddQuestion.cjs +1 -1
  32. package/dist/generated/icons/AddQuestion.js +1 -1
  33. package/dist/generated/icons/AffiliateLink.cjs +2 -2
  34. package/dist/generated/icons/AffiliateLink.js +2 -2
  35. package/dist/generated/icons/Airplane.cjs +1 -1
  36. package/dist/generated/icons/Airplane.js +1 -1
  37. package/dist/generated/icons/AirplaneTakeOff.cjs +1 -1
  38. package/dist/generated/icons/AirplaneTakeOff.js +1 -1
  39. package/dist/generated/icons/AppSwitcher.cjs +1 -1
  40. package/dist/generated/icons/AppSwitcher.js +1 -1
  41. package/dist/generated/icons/ArrowDown.cjs +1 -1
  42. package/dist/generated/icons/ArrowDown.js +1 -1
  43. package/dist/generated/icons/ArrowLeft.cjs +2 -2
  44. package/dist/generated/icons/ArrowLeft.js +2 -2
  45. package/dist/generated/icons/ArrowLineUp.cjs +1 -1
  46. package/dist/generated/icons/ArrowLineUp.js +1 -1
  47. package/dist/generated/icons/ArrowRight.cjs +2 -2
  48. package/dist/generated/icons/ArrowRight.js +2 -2
  49. package/dist/generated/icons/ArrowUp.cjs +2 -2
  50. package/dist/generated/icons/ArrowUp.js +2 -2
  51. package/dist/generated/icons/BackTimeTen.cjs +1 -1
  52. package/dist/generated/icons/BackTimeTen.js +1 -1
  53. package/dist/generated/icons/Badge.cjs +1 -1
  54. package/dist/generated/icons/Badge.js +1 -1
  55. package/dist/generated/icons/Baseball.cjs +1 -1
  56. package/dist/generated/icons/Baseball.js +1 -1
  57. package/dist/generated/icons/Basketball.cjs +1 -1
  58. package/dist/generated/icons/Basketball.js +1 -1
  59. package/dist/generated/icons/Bed.cjs +1 -1
  60. package/dist/generated/icons/Bed.js +1 -1
  61. package/dist/generated/icons/BusFront.cjs +1 -1
  62. package/dist/generated/icons/BusFront.js +1 -1
  63. package/dist/generated/icons/Cake.cjs +1 -1
  64. package/dist/generated/icons/Cake.js +1 -1
  65. package/dist/generated/icons/CalendarConfirm.cjs +1 -1
  66. package/dist/generated/icons/CalendarConfirm.js +1 -1
  67. package/dist/generated/icons/Car.cjs +1 -1
  68. package/dist/generated/icons/Car.js +1 -1
  69. package/dist/generated/icons/ChatAi.cjs +2 -2
  70. package/dist/generated/icons/ChatAi.js +2 -2
  71. package/dist/generated/icons/CheckCircle.cjs +1 -1
  72. package/dist/generated/icons/CheckCircle.js +1 -1
  73. package/dist/generated/icons/CheckEnvelope.cjs +1 -1
  74. package/dist/generated/icons/CheckEnvelope.js +2 -2
  75. package/dist/generated/icons/CheckPeople.cjs +2 -2
  76. package/dist/generated/icons/CheckPeople.js +2 -2
  77. package/dist/generated/icons/ChevronLeftPeople.cjs +1 -1
  78. package/dist/generated/icons/ChevronLeftPeople.js +1 -1
  79. package/dist/generated/icons/ChevronRightPeople.cjs +2 -2
  80. package/dist/generated/icons/ChevronRightPeople.js +2 -2
  81. package/dist/generated/icons/Clipboard.cjs +1 -1
  82. package/dist/generated/icons/Clipboard.js +1 -1
  83. package/dist/generated/icons/Clock.cjs +1 -1
  84. package/dist/generated/icons/Clock.js +1 -1
  85. package/dist/generated/icons/CloudDay.cjs +1 -1
  86. package/dist/generated/icons/CloudDay.js +1 -1
  87. package/dist/generated/icons/Cog.cjs +1 -1
  88. package/dist/generated/icons/Cog.js +1 -1
  89. package/dist/generated/icons/Compass.cjs +1 -1
  90. package/dist/generated/icons/Compass.js +1 -1
  91. package/dist/generated/icons/ConnectionScreen.cjs +1 -1
  92. package/dist/generated/icons/ConnectionScreen.js +1 -1
  93. package/dist/generated/icons/ConvertAlt.cjs +2 -2
  94. package/dist/generated/icons/ConvertAlt.js +2 -2
  95. package/dist/generated/icons/ConvertLeft.cjs +1 -1
  96. package/dist/generated/icons/ConvertLeft.js +1 -1
  97. package/dist/generated/icons/ConvertRight.cjs +2 -2
  98. package/dist/generated/icons/ConvertRight.js +2 -2
  99. package/dist/generated/icons/CrescentMoon.cjs +1 -1
  100. package/dist/generated/icons/CrescentMoon.js +1 -1
  101. package/dist/generated/icons/CrossCircle.cjs +1 -1
  102. package/dist/generated/icons/CrossCircle.js +1 -1
  103. package/dist/generated/icons/CrossPeople.cjs +2 -2
  104. package/dist/generated/icons/CrossPeople.js +2 -2
  105. package/dist/generated/icons/DeliveryPackage.cjs +1 -1
  106. package/dist/generated/icons/DeliveryPackage.js +1 -1
  107. package/dist/generated/icons/DenyCircle.cjs +1 -1
  108. package/dist/generated/icons/DenyCircle.js +1 -1
  109. package/dist/generated/icons/DiagonalKey.cjs +1 -1
  110. package/dist/generated/icons/DiagonalKey.js +1 -1
  111. package/dist/generated/icons/DiagonalLeftUp.cjs +1 -1
  112. package/dist/generated/icons/DiagonalLeftUp.js +1 -1
  113. package/dist/generated/icons/Direction.cjs +1 -1
  114. package/dist/generated/icons/Direction.js +1 -1
  115. package/dist/generated/icons/DiscoBall.cjs +1 -1
  116. package/dist/generated/icons/DiscoBall.js +1 -1
  117. package/dist/generated/icons/DoubleBigLeftArrow.cjs +1 -1
  118. package/dist/generated/icons/DoubleBigLeftArrow.js +1 -1
  119. package/dist/generated/icons/DoubleChervronLeft.cjs +1 -1
  120. package/dist/generated/icons/DoubleChervronLeft.js +1 -1
  121. package/dist/generated/icons/DownCurveArrow.cjs +1 -1
  122. package/dist/generated/icons/DownCurveArrow.js +1 -1
  123. package/dist/generated/icons/Dusk.cjs +1 -1
  124. package/dist/generated/icons/Dusk.js +1 -1
  125. package/dist/generated/icons/Eclipse.cjs +1 -1
  126. package/dist/generated/icons/Eclipse.js +1 -1
  127. package/dist/generated/icons/Edit.cjs +1 -1
  128. package/dist/generated/icons/Edit.js +1 -1
  129. package/dist/generated/icons/Eye.cjs +1 -1
  130. package/dist/generated/icons/Eye.js +1 -1
  131. package/dist/generated/icons/EyeSearch.cjs +1 -1
  132. package/dist/generated/icons/EyeSearch.js +1 -1
  133. package/dist/generated/icons/EyeShut.cjs +1 -1
  134. package/dist/generated/icons/EyeShut.js +1 -1
  135. package/dist/generated/icons/FingerPointLeftArrow.cjs +1 -1
  136. package/dist/generated/icons/FingerPointLeftArrow.js +1 -1
  137. package/dist/generated/icons/FingerPointRightArrow.cjs +1 -1
  138. package/dist/generated/icons/FingerPointRightArrow.js +1 -1
  139. package/dist/generated/icons/FingerPrint.cjs +1 -1
  140. package/dist/generated/icons/FingerPrint.js +1 -1
  141. package/dist/generated/icons/Fire.cjs +1 -1
  142. package/dist/generated/icons/Fire.js +1 -1
  143. package/dist/generated/icons/FirstAidKit.cjs +2 -2
  144. package/dist/generated/icons/FirstAidKit.js +2 -2
  145. package/dist/generated/icons/FirstQuarter.cjs +1 -1
  146. package/dist/generated/icons/FirstQuarter.js +1 -1
  147. package/dist/generated/icons/FlowerDaisy.cjs +1 -1
  148. package/dist/generated/icons/FlowerDaisy.js +1 -1
  149. package/dist/generated/icons/FogDay.cjs +1 -1
  150. package/dist/generated/icons/FogDay.js +1 -1
  151. package/dist/generated/icons/FourCornersMusicNote.cjs +1 -1
  152. package/dist/generated/icons/FourCornersMusicNote.js +1 -1
  153. package/dist/generated/icons/GraduationHat.cjs +1 -1
  154. package/dist/generated/icons/GraduationHat.js +1 -1
  155. package/dist/generated/icons/HalfStar.cjs +1 -1
  156. package/dist/generated/icons/HalfStar.js +1 -1
  157. package/dist/generated/icons/HappyFace.cjs +2 -2
  158. package/dist/generated/icons/HappyFace.js +2 -2
  159. package/dist/generated/icons/HazeDay.cjs +1 -1
  160. package/dist/generated/icons/HazeDay.js +1 -1
  161. package/dist/generated/icons/HazeNight.cjs +1 -1
  162. package/dist/generated/icons/HazeNight.js +1 -1
  163. package/dist/generated/icons/Heart.cjs +1 -1
  164. package/dist/generated/icons/Heart.js +1 -1
  165. package/dist/generated/icons/HeartArrow.cjs +1 -1
  166. package/dist/generated/icons/HeartArrow.js +1 -1
  167. package/dist/generated/icons/HeavyRainLightning.cjs +1 -1
  168. package/dist/generated/icons/HeavyRainLightning.js +1 -1
  169. package/dist/generated/icons/HeavyRainLightningDay.cjs +1 -1
  170. package/dist/generated/icons/HeavyRainLightningDay.js +1 -1
  171. package/dist/generated/icons/HeavyRainLightningNight.cjs +1 -1
  172. package/dist/generated/icons/HeavyRainLightningNight.js +1 -1
  173. package/dist/generated/icons/Home.cjs +1 -1
  174. package/dist/generated/icons/Home.js +1 -1
  175. package/dist/generated/icons/HotTub.cjs +1 -1
  176. package/dist/generated/icons/HotTub.js +1 -1
  177. package/dist/generated/icons/Hurricane.cjs +1 -1
  178. package/dist/generated/icons/Hurricane.js +1 -1
  179. package/dist/generated/icons/Infinity.cjs +1 -1
  180. package/dist/generated/icons/Infinity.js +1 -1
  181. package/dist/generated/icons/JoyfulFace.cjs +1 -1
  182. package/dist/generated/icons/JoyfulFace.js +1 -1
  183. package/dist/generated/icons/Keyboard.cjs +1 -1
  184. package/dist/generated/icons/Keyboard.js +1 -1
  185. package/dist/generated/icons/LifeRing.cjs +1 -1
  186. package/dist/generated/icons/LifeRing.js +1 -1
  187. package/dist/generated/icons/LightningDay.cjs +1 -1
  188. package/dist/generated/icons/LightningDay.js +1 -1
  189. package/dist/generated/icons/LightningNight.cjs +1 -1
  190. package/dist/generated/icons/LightningNight.js +1 -1
  191. package/dist/generated/icons/Link.cjs +1 -1
  192. package/dist/generated/icons/Link.js +1 -1
  193. package/dist/generated/icons/LocationCircle.cjs +1 -1
  194. package/dist/generated/icons/LocationCircle.js +1 -1
  195. package/dist/generated/icons/LocationMap.cjs +1 -1
  196. package/dist/generated/icons/LocationMap.js +1 -1
  197. package/dist/generated/icons/Lock.cjs +1 -1
  198. package/dist/generated/icons/Lock.js +1 -1
  199. package/dist/generated/icons/Lollipop.cjs +1 -1
  200. package/dist/generated/icons/Lollipop.js +1 -1
  201. package/dist/generated/icons/Mannequin.cjs +1 -1
  202. package/dist/generated/icons/Mannequin.js +1 -1
  203. package/dist/generated/icons/MedicinePill.cjs +1 -1
  204. package/dist/generated/icons/MedicinePill.js +1 -1
  205. package/dist/generated/icons/Microphone.cjs +1 -1
  206. package/dist/generated/icons/Microphone.js +1 -1
  207. package/dist/generated/icons/Microscope.cjs +2 -2
  208. package/dist/generated/icons/Microscope.js +2 -2
  209. package/dist/generated/icons/MinusCircle.cjs +1 -1
  210. package/dist/generated/icons/MinusCircle.js +1 -1
  211. package/dist/generated/icons/MinusPeople.cjs +1 -1
  212. package/dist/generated/icons/MinusPeople.js +1 -1
  213. package/dist/generated/icons/NeutralFace.cjs +1 -1
  214. package/dist/generated/icons/NeutralFace.js +1 -1
  215. package/dist/generated/icons/Night.cjs +1 -1
  216. package/dist/generated/icons/Night.js +1 -1
  217. package/dist/generated/icons/NoBell.cjs +1 -1
  218. package/dist/generated/icons/NoBell.js +1 -1
  219. package/dist/generated/icons/NoEye.cjs +1 -1
  220. package/dist/generated/icons/NoEye.js +1 -1
  221. package/dist/generated/icons/NoPeople.cjs +1 -1
  222. package/dist/generated/icons/NoPeople.js +1 -1
  223. package/dist/generated/icons/NoShield.cjs +1 -1
  224. package/dist/generated/icons/NoShield.js +1 -1
  225. package/dist/generated/icons/NoSmoking.cjs +1 -1
  226. package/dist/generated/icons/NoSmoking.js +1 -1
  227. package/dist/generated/icons/NoVideoCamera.cjs +1 -1
  228. package/dist/generated/icons/NoVideoCamera.js +1 -1
  229. package/dist/generated/icons/NoWifi.cjs +1 -1
  230. package/dist/generated/icons/NoWifi.js +1 -1
  231. package/dist/generated/icons/PaperPlaneDiagonal.cjs +1 -1
  232. package/dist/generated/icons/PaperPlaneDiagonal.js +1 -1
  233. package/dist/generated/icons/Paperclip.cjs +1 -1
  234. package/dist/generated/icons/Paperclip.js +1 -1
  235. package/dist/generated/icons/PayphoneFace.cjs +1 -1
  236. package/dist/generated/icons/PayphoneFace.js +1 -1
  237. package/dist/generated/icons/Pencil.cjs +1 -1
  238. package/dist/generated/icons/Pencil.js +1 -1
  239. package/dist/generated/icons/PencilLines.cjs +1 -1
  240. package/dist/generated/icons/PencilLines.js +1 -1
  241. package/dist/generated/icons/People.cjs +1 -1
  242. package/dist/generated/icons/People.js +1 -1
  243. package/dist/generated/icons/Person.cjs +1 -1
  244. package/dist/generated/icons/Person.js +1 -1
  245. package/dist/generated/icons/Pin.cjs +1 -1
  246. package/dist/generated/icons/Pin.js +1 -1
  247. package/dist/generated/icons/PlayCircle.cjs +2 -2
  248. package/dist/generated/icons/PlayCircle.js +2 -2
  249. package/dist/generated/icons/PowerSwitch.cjs +1 -1
  250. package/dist/generated/icons/PowerSwitch.js +1 -1
  251. package/dist/generated/icons/Profile.cjs +1 -1
  252. package/dist/generated/icons/Profile.js +1 -1
  253. package/dist/generated/icons/QuestionBubble.cjs +1 -1
  254. package/dist/generated/icons/QuestionBubble.js +1 -1
  255. package/dist/generated/icons/RainDay.cjs +1 -1
  256. package/dist/generated/icons/RainDay.js +1 -1
  257. package/dist/generated/icons/RainNight.cjs +2 -2
  258. package/dist/generated/icons/RainNight.js +2 -2
  259. package/dist/generated/icons/Receipt.cjs +1 -1
  260. package/dist/generated/icons/Receipt.js +1 -1
  261. package/dist/generated/icons/RedoPencil.cjs +1 -1
  262. package/dist/generated/icons/RedoPencil.js +1 -1
  263. package/dist/generated/icons/RetailTag.cjs +1 -1
  264. package/dist/generated/icons/RetailTag.js +1 -1
  265. package/dist/generated/icons/RightCurveArrow.cjs +1 -1
  266. package/dist/generated/icons/RightCurveArrow.js +1 -1
  267. package/dist/generated/icons/SadFace.cjs +1 -1
  268. package/dist/generated/icons/SadFace.js +1 -1
  269. package/dist/generated/icons/SadderFace.cjs +1 -1
  270. package/dist/generated/icons/SadderFace.js +1 -1
  271. package/dist/generated/icons/SearchConfirm.cjs +1 -1
  272. package/dist/generated/icons/SearchConfirm.js +1 -1
  273. package/dist/generated/icons/SearchWorldWithLines.cjs +1 -1
  274. package/dist/generated/icons/SearchWorldWithLines.js +1 -1
  275. package/dist/generated/icons/SettingsCogPeople.cjs +1 -1
  276. package/dist/generated/icons/SettingsCogPeople.js +1 -1
  277. package/dist/generated/icons/Shapes.cjs +1 -1
  278. package/dist/generated/icons/Shapes.js +1 -1
  279. package/dist/generated/icons/Shield.cjs +1 -1
  280. package/dist/generated/icons/Shield.js +1 -1
  281. package/dist/generated/icons/ShockedFace.cjs +1 -1
  282. package/dist/generated/icons/ShockedFace.js +1 -1
  283. package/dist/generated/icons/SkipTimeTen.cjs +1 -1
  284. package/dist/generated/icons/SkipTimeTen.js +1 -1
  285. package/dist/generated/icons/Skull.cjs +1 -1
  286. package/dist/generated/icons/Skull.js +1 -1
  287. package/dist/generated/icons/SmileFace.cjs +1 -1
  288. package/dist/generated/icons/SmileFace.js +1 -1
  289. package/dist/generated/icons/Sneaker.cjs +1 -1
  290. package/dist/generated/icons/Sneaker.js +1 -1
  291. package/dist/generated/icons/Snow.cjs +1 -1
  292. package/dist/generated/icons/Snow.js +1 -1
  293. package/dist/generated/icons/SnowDay.cjs +1 -1
  294. package/dist/generated/icons/SnowDay.js +1 -1
  295. package/dist/generated/icons/Snowflake.cjs +1 -1
  296. package/dist/generated/icons/Snowflake.js +1 -1
  297. package/dist/generated/icons/Soccer.cjs +1 -1
  298. package/dist/generated/icons/Soccer.js +1 -1
  299. package/dist/generated/icons/Spa.cjs +1 -1
  300. package/dist/generated/icons/Spa.js +1 -1
  301. package/dist/generated/icons/SparkleTennisBall.cjs +1 -1
  302. package/dist/generated/icons/SparkleTennisBall.js +1 -1
  303. package/dist/generated/icons/SpeechBubble.cjs +2 -2
  304. package/dist/generated/icons/SpeechBubble.js +2 -2
  305. package/dist/generated/icons/SpinkleDay.cjs +1 -1
  306. package/dist/generated/icons/SpinkleDay.js +1 -1
  307. package/dist/generated/icons/SpinkleNight.cjs +1 -1
  308. package/dist/generated/icons/SpinkleNight.js +1 -1
  309. package/dist/generated/icons/Star.cjs +1 -1
  310. package/dist/generated/icons/Star.js +1 -1
  311. package/dist/generated/icons/StarMedal.cjs +1 -1
  312. package/dist/generated/icons/StarMedal.js +1 -1
  313. package/dist/generated/icons/Stopwatch.cjs +2 -2
  314. package/dist/generated/icons/Stopwatch.js +2 -2
  315. package/dist/generated/icons/Sun.cjs +1 -1
  316. package/dist/generated/icons/Sun.js +1 -1
  317. package/dist/generated/icons/Sunrise.cjs +1 -1
  318. package/dist/generated/icons/Sunrise.js +1 -1
  319. package/dist/generated/icons/Sunset.cjs +2 -2
  320. package/dist/generated/icons/Sunset.js +2 -2
  321. package/dist/generated/icons/Swimming.cjs +1 -1
  322. package/dist/generated/icons/Swimming.js +1 -1
  323. package/dist/generated/icons/ThirdQuarter.cjs +7 -0
  324. package/dist/generated/icons/ThirdQuarter.d.cts +6 -0
  325. package/dist/generated/icons/ThirdQuarter.d.ts +6 -0
  326. package/dist/generated/icons/ThirdQuarter.js +5 -0
  327. package/dist/generated/icons/Trending.cjs +1 -1
  328. package/dist/generated/icons/Trending.js +1 -1
  329. package/dist/generated/icons/Tsunami.cjs +1 -1
  330. package/dist/generated/icons/Tsunami.js +1 -1
  331. package/dist/generated/icons/TwoCorners.cjs +1 -1
  332. package/dist/generated/icons/TwoCorners.js +1 -1
  333. package/dist/generated/icons/Unlock.cjs +1 -1
  334. package/dist/generated/icons/Unlock.js +1 -1
  335. package/dist/generated/icons/UpCurveArrow.cjs +1 -1
  336. package/dist/generated/icons/UpCurveArrow.js +1 -1
  337. package/dist/generated/icons/Verification.cjs +1 -1
  338. package/dist/generated/icons/Verification.js +1 -1
  339. package/dist/generated/icons/Virus.cjs +2 -2
  340. package/dist/generated/icons/Virus.js +2 -2
  341. package/dist/generated/icons/WaningGibbous.cjs +1 -1
  342. package/dist/generated/icons/WaningGibbous.js +1 -1
  343. package/dist/generated/icons/Warning.cjs +1 -1
  344. package/dist/generated/icons/Warning.js +1 -1
  345. package/dist/generated/icons/WaxingCrescent.cjs +1 -1
  346. package/dist/generated/icons/WaxingCrescent.js +1 -1
  347. package/dist/generated/icons/WaxingGibbous.cjs +1 -1
  348. package/dist/generated/icons/WaxingGibbous.js +1 -1
  349. package/dist/generated/icons/Wifi.cjs +1 -1
  350. package/dist/generated/icons/Wifi.js +1 -1
  351. package/dist/generated/icons/Wind.cjs +1 -1
  352. package/dist/generated/icons/Wind.js +1 -1
  353. package/dist/generated/icons/WindCloudDay.cjs +1 -1
  354. package/dist/generated/icons/WindCloudDay.js +1 -1
  355. package/dist/generated/icons/WindCloudNight.cjs +1 -1
  356. package/dist/generated/icons/WindCloudNight.js +1 -1
  357. package/dist/generated/icons/WorldWithLines.cjs +1 -1
  358. package/dist/generated/icons/WorldWithLines.js +1 -1
  359. package/dist/generated/icons/Wrench.cjs +1 -1
  360. package/dist/generated/icons/Wrench.js +1 -1
  361. package/dist/generated/icons/WritingAi.cjs +1 -1
  362. package/dist/generated/icons/WritingAi.js +1 -1
  363. package/dist/generated/icons/index.cjs +5 -0
  364. package/dist/generated/icons/index.d.cts +1 -0
  365. package/dist/generated/icons/index.d.ts +1 -0
  366. package/dist/generated/icons/index.js +1 -0
  367. package/dist/src/index.d.cts +1 -0
  368. package/dist/src/index.d.ts +1 -0
  369. package/package.json +1 -1
  370. package/README.md +0 -463
@@ -1,5 +1,5 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
 
3
- const o=({size:h,variant:a})=>{if(a==="outline")switch(h){case"sm":return jsx(Fragment,{children:jsx("path",{fill:"currentColor",d:"M.65 14.298C.65 6.75 6.366 1.15 14 1.15h.956l-.112.95L14 2l.844.1v.007l-.003.014-.006.045-.024.152a9.6 9.6 0 0 1-.686 2.207c-.583 1.293-1.654 2.863-3.575 3.727l-.167.075H9.31l.442.495a.85.85 0 0 1 .016 1.114l-.02.023c.65.548.02-.023.02-.023l-.001.001-.002.002-.004.005-.013.015a4 4 0 0 1-.193.207 8 8 0 0 1-.546.508 7.5 7.5 0 0 1-1.993 1.222c-.76.307-1.555.34-2.213.34H2.517q-.115.69-.151 1.414H14.85v1.7H.65zm2.28-3.763h1.872c.629 0 1.14-.04 1.575-.216a5.8 5.8 0 0 0 1.565-.97L6.688 7.943l-.048-.215.829-.187-.83.187v-.007l-.003-.008-.003-.02a1 1 0 0 1-.015-.232.87.87 0 0 1 .873-.835h2.52c1.315-.649 2.1-1.77 2.564-2.8.152-.336.266-.655.351-.935-4.845.384-8.607 3.363-9.995 7.643"})});case"md":return jsx(Fragment,{children:jsx("path",{fill:"currentColor",d:"M2.971 19.76c0-9.217 7.591-16.67 16.919-16.67h1.115l-.236 1.09-.88-.19.88.19v.004l-.002.005-.003.017a5 5 0 0 1-.063.254 15.7 15.7 0 0 1-1.116 2.925c-.852 1.691-2.298 3.745-4.623 4.792l-.177.079h-1.69a22 22 0 0 0 .625.65l.115.112.028.027.007.006.627.584-.552.655-.688-.58.688.58-.002.002-.001.002-.006.006-.016.019a5 5 0 0 1-.248.266 10 10 0 0 1-.711.652c-.606.503-1.493 1.118-2.588 1.518-.759.278-1.54.316-2.208.316H5.018a15 15 0 0 0-.232 2.038h6.793v1.8H2.971zm2.503-4.489h2.69c.62 0 1.14-.042 1.59-.207.842-.307 1.551-.792 2.058-1.212q.09-.075.172-.148l-.001-.001a23 23 0 0 1-1.469-1.717.96.96 0 0 1-.178-.792.94.94 0 0 1 .917-.738h3.139c1.688-.826 2.839-2.4 3.585-3.88.303-.602.53-1.171.694-1.637-6.226.488-11.38 4.686-13.197 10.332m7.108 3.838h2.601v1.8h-2.6zm2.502-2.304h1.602v4.005l4.004-4.805h-1.6V12z"})});case"lg":return jsx(Fragment,{children:jsx("path",{fill:"currentColor",d:"M1.85 28.589C1.85 13.548 13.767 1.85 29 1.85h1.366l-.233 1.346L29 3l1.133.196v.005l-.002.008-.005.025-.016.086q-.021.11-.065.308c-.059.262-.15.634-.28 1.088-.259.905-.68 2.144-1.325 3.486-1.281 2.667-3.51 5.863-7.25 7.546l-.214.096-3.447.07a145 145 0 0 1 1.649 1.705l.134.144.034.036.01.01.003.004-.848.777c.88.741.88.741.879.742l-.002.002-.003.003-.008.01-.027.031-.096.107q-.121.137-.347.365a16 16 0 0 1-1.287 1.156c-1.097.883-2.697 1.934-4.655 2.52-.771.231-1.545.281-2.238.281H4.602a25 25 0 0 0-.441 4.043H15.4v2.3H1.851zm16.66-9.999.849-.777.682.746-.651.773zM5.162 21.507h5.566c.595 0 1.115-.046 1.578-.184 1.58-.473 2.917-1.34 3.873-2.109.284-.228.53-.445.736-.636-.506-.525-1.293-1.33-2.436-2.474l-2.381-2.381 8.357-.169c2.925-1.396 4.777-3.983 5.913-6.348a20 20 0 0 0 1.156-3.016c-10.798.588-19.492 7.594-22.362 17.317m16.99 8.643h-5.3v-2.3h5.3zM21 23.636h2.57V30L30 22.364h-2.572V16z"})})}if(a==="fill")switch(h){case"sm":return jsx(Fragment,{children:jsx("path",{fill:"currentColor",d:"M14 1.15C6.366 1.15.65 6.75.65 14.298v1.052h14.2v-1.7H2.366q.037-.723.151-1.415h2.285c.658 0 1.453-.032 2.213-.34a7.5 7.5 0 0 0 1.993-1.221 8 8 0 0 0 .739-.715l.013-.015.004-.005.002-.002v-.001a.85.85 0 0 0-.015-1.114l-.442-.495h1.074l.167-.075c1.921-.864 2.992-2.434 3.575-3.726a9.6 9.6 0 0 0 .686-2.208l.024-.152.006-.045.002-.014v-.006l.113-.951zm-9.198 9.385H2.93q.322-.992.807-1.883l3.04-.608 1.164 1.304-.031.027c-.377.318-.905.69-1.534.944-.434.176-.946.216-1.575.216m7.573-6.299-7.63 2.886c1.886-2.398 4.764-3.959 8.181-4.23a8 8 0 0 1-.551 1.344"})});case"md":return jsxs(Fragment,{children:[jsx("path",{fill:"currentColor",d:"M19.89 3.09c-9.328 0-16.919 7.454-16.919 16.67v1.149h8.608v-1.8H4.786q.046-1.04.232-2.038h3.147c.667 0 1.45-.038 2.208-.316 1.095-.4 1.982-1.015 2.588-1.518a10 10 0 0 0 .905-.858l.054-.06.016-.019.006-.006.002-.002.553-.657-.627-.583-.007-.007-.028-.027-.115-.112a18 18 0 0 1-.625-.65h1.69l.177-.08c2.325-1.046 3.77-3.1 4.622-4.79a15.7 15.7 0 0 0 1.117-2.926 8 8 0 0 0 .063-.254l.003-.017.002-.005v-.002l.236-1.091zM8.165 15.272H5.474q.177-.552.397-1.085l4.969-1.788c.43.529.83.973 1.143 1.305l.001.002-.172.147c-.507.42-1.216.905-2.057 1.213-.45.164-.97.206-1.59.206m9.496-8.108L6.753 12.399a15.14 15.14 0 0 1 11.918-7.46 14 14 0 0 1-.694 1.637q-.147.291-.316.587"}),jsx("path",{fill:"currentColor",d:"M15.183 19.109h-2.6v1.8h2.6zm1.503-2.304h-1.602L19.09 12v4.005h1.601l-4.004 4.805z"})]});case"lg":return jsx(Fragment,{children:jsx("path",{fill:"currentColor",d:"M4.206 17.48C2.689 20.842 1.85 24.597 1.85 28.588v1.561h13.551v-2.3H4.161c.039-1.383.189-2.733.44-4.043h6.126c.693 0 1.467-.05 2.238-.28 1.958-.587 3.558-1.638 4.655-2.52a16 16 0 0 0 1.287-1.157 12 12 0 0 0 .443-.472l.027-.031.008-.01.003-.003.001-.002-.878-.742.88.741.65-.772-.682-.745-.848.776.848-.776-.004-.005-.009-.01-.034-.036-.134-.144a145 145 0 0 0-1.649-1.705l3.447-.07.214-.096c3.74-1.683 5.969-4.88 7.25-7.546a22.4 22.4 0 0 0 1.326-3.486 19 19 0 0 0 .344-1.396l.017-.086.004-.025.001-.008v-.003l.001-.001L29 3l1.133.197.233-1.347H29c-10.408 0-19.268 5.46-23.836 13.718l-.178.066zm2.686-.267 6.9-1.796.686.687a192 192 0 0 1 2.436 2.474c-.206.191-.452.408-.736.636-.956.77-2.294 1.636-3.873 2.109-.463.138-.983.184-1.578.184H5.161a24 24 0 0 1 1.731-4.294m19.17-9.4L8.724 14.247c4.195-5.801 10.94-9.63 18.8-10.057a20 20 0 0 1-1.462 3.623M22.15 30.15v-2.3h-5.3v2.3zm1.422-6.514H21L27.43 16v6.364H30L23.572 30z"})})}return jsx(Fragment,{})};
3
+ const o=({size:h,variant:a})=>{if(a==="outline")switch(h){case"sm":return jsx(Fragment,{children:jsx("path",{fill:"currentColor",d:"M.65 14.298C.65 6.75 6.366 1.15 14 1.15h.956l-.112.95L14 2l.844.1v.007l-.002.014-.007.045-.024.152a9.6 9.6 0 0 1-.686 2.207c-.583 1.293-1.654 2.863-3.575 3.727l-.167.075H9.31l.442.495a.85.85 0 0 1 .016 1.114l-.02.023c.65.548.02-.023.02-.023l-.001.001-.002.002-.004.005-.013.015a4 4 0 0 1-.192.207 8 8 0 0 1-.547.508 7.5 7.5 0 0 1-1.993 1.222c-.76.307-1.555.34-2.213.34H2.518q-.116.69-.152 1.414H14.85v1.7H.65zm2.28-3.763h1.872c.629 0 1.14-.04 1.575-.216a5.8 5.8 0 0 0 1.565-.97L6.688 7.943l-.048-.215.829-.187-.83.187v-.007l-.002-.008-.004-.02a1 1 0 0 1-.015-.232.87.87 0 0 1 .873-.835h2.52c1.315-.649 2.1-1.77 2.564-2.8.152-.336.266-.655.351-.935-4.845.384-8.607 3.363-9.995 7.643"})});case"md":return jsx(Fragment,{children:jsx("path",{fill:"currentColor",d:"M2.972 19.76c0-9.217 7.59-16.67 16.918-16.67h1.115l-.236 1.09-.88-.19.88.19v.004l-.002.005-.003.017a7 7 0 0 1-.063.254 15.7 15.7 0 0 1-1.116 2.925c-.852 1.691-2.298 3.745-4.623 4.792l-.176.079h-1.691a22 22 0 0 0 .625.65l.115.112.028.027.007.006.627.584-.552.655-.688-.58.688.58-.001.002-.002.002-.005.006-.016.019-.055.06q-.068.076-.194.206a9 9 0 0 1-.711.652c-.606.503-1.493 1.118-2.588 1.518-.759.278-1.54.316-2.208.316H5.019a15 15 0 0 0-.233 2.038h6.793v1.8H2.972zm2.502-4.489h2.69c.62 0 1.14-.042 1.59-.207.842-.307 1.551-.792 2.058-1.212q.09-.075.172-.148l-.001-.001a23 23 0 0 1-1.469-1.717.96.96 0 0 1-.178-.792.94.94 0 0 1 .917-.738h3.139c1.688-.826 2.84-2.4 3.585-3.88.303-.602.53-1.171.694-1.637-6.226.488-11.38 4.686-13.197 10.332m7.108 3.838h2.601v1.8h-2.6zm2.502-2.304h1.602v4.005l4.005-4.805h-1.602V12z"})});case"lg":return jsx(Fragment,{children:jsx("path",{fill:"currentColor",d:"M1.85 28.589C1.85 13.548 13.766 1.85 29 1.85h1.366l-.233 1.346L29 3l1.133.196v.005l-.002.008-.005.025-.016.086q-.021.11-.065.308c-.059.262-.15.634-.28 1.088-.26.905-.68 2.144-1.325 3.486-1.281 2.667-3.51 5.863-7.25 7.546l-.214.096-3.447.07a145 145 0 0 1 1.649 1.705l.134.144.034.036.01.01.003.004-.848.777c.88.741.879.741.879.742l-.002.002-.003.003-.008.01-.027.031-.096.107q-.121.137-.348.365c-.299.302-.734.712-1.286 1.156-1.097.883-2.697 1.934-4.655 2.52-.771.231-1.545.281-2.238.281H4.602a25 25 0 0 0-.442 4.043H15.4v2.3H1.85zm16.66-9.999.849-.777.682.746-.651.773zM5.16 21.507h5.567c.595 0 1.115-.046 1.578-.184 1.58-.473 2.917-1.34 3.873-2.109.284-.228.53-.445.736-.636-.506-.525-1.293-1.33-2.436-2.474l-2.381-2.381 8.357-.169c2.925-1.396 4.777-3.983 5.913-6.348a20 20 0 0 0 1.156-3.016c-10.798.588-19.492 7.594-22.362 17.317m16.99 8.643h-5.3v-2.3h5.3zM21 23.636h2.571V30L30 22.364h-2.572V16z"})})}if(a==="fill")switch(h){case"sm":return jsx(Fragment,{children:jsx("path",{fill:"currentColor",d:"M14 1.15C6.366 1.15.65 6.75.65 14.298v1.052h14.2v-1.7H2.366q.037-.723.151-1.415h2.285c.658 0 1.453-.032 2.213-.34a7.5 7.5 0 0 0 1.993-1.221 8 8 0 0 0 .739-.715l.013-.015.004-.005.002-.002v-.001a.85.85 0 0 0-.015-1.114l-.442-.495h1.074l.167-.075c1.921-.864 2.992-2.434 3.575-3.726a9.6 9.6 0 0 0 .686-2.208l.024-.152.006-.045.002-.014v-.006l.113-.951zm-9.198 9.385H2.93q.322-.992.807-1.883l3.04-.608 1.164 1.304-.031.027c-.377.318-.905.69-1.534.944-.434.176-.946.216-1.575.216m7.573-6.299-7.63 2.886c1.886-2.398 4.764-3.959 8.181-4.23a8 8 0 0 1-.551 1.344"})});case"md":return jsxs(Fragment,{children:[jsx("path",{fill:"currentColor",d:"M19.89 3.09c-9.328 0-16.919 7.454-16.919 16.67v1.149h8.608v-1.8H4.786q.046-1.04.232-2.038h3.147c.667 0 1.45-.038 2.208-.316 1.095-.4 1.982-1.015 2.588-1.518a10 10 0 0 0 .905-.858l.054-.06.016-.019.006-.006.002-.002.553-.657-.627-.583-.007-.007-.028-.027-.115-.112a18 18 0 0 1-.625-.65h1.69l.177-.08c2.325-1.046 3.77-3.1 4.622-4.79a15.7 15.7 0 0 0 1.117-2.926 8 8 0 0 0 .063-.254l.003-.017.002-.005v-.002l.236-1.091zM8.165 15.272H5.474q.177-.552.397-1.085l4.969-1.788c.43.529.83.973 1.143 1.305l.001.002-.172.147c-.507.42-1.216.905-2.057 1.213-.45.164-.97.206-1.59.206m9.496-8.108L6.753 12.399a15.14 15.14 0 0 1 11.918-7.46 14 14 0 0 1-.694 1.637q-.147.291-.316.587"}),jsx("path",{fill:"currentColor",d:"M15.183 19.109h-2.6v1.8h2.6zm1.503-2.304h-1.602L19.09 12v4.005h1.601l-4.004 4.805z"})]});case"lg":return jsx(Fragment,{children:jsx("path",{fill:"currentColor",d:"M4.206 17.48C2.689 20.842 1.85 24.597 1.85 28.588v1.561h13.551v-2.3H4.161c.039-1.383.189-2.733.44-4.043h6.126c.693 0 1.467-.05 2.238-.28 1.958-.587 3.558-1.638 4.655-2.52a16 16 0 0 0 1.287-1.157 12 12 0 0 0 .443-.472l.027-.031.008-.01.003-.003.001-.002-.878-.742.88.741.65-.772-.682-.745-.848.776.848-.776-.004-.005-.009-.01-.034-.036-.134-.144a145 145 0 0 0-1.649-1.705l3.447-.07.214-.096c3.74-1.683 5.969-4.88 7.25-7.546a22.4 22.4 0 0 0 1.326-3.486 19 19 0 0 0 .344-1.396l.017-.086.004-.025.001-.008v-.003l.001-.001L29 3l1.133.197.233-1.347H29c-10.408 0-19.268 5.46-23.836 13.718l-.178.066zm2.686-.267 6.9-1.796.686.687a192 192 0 0 1 2.436 2.474c-.206.191-.452.408-.736.636-.956.77-2.294 1.636-3.873 2.109-.463.138-.983.184-1.578.184H5.161a24 24 0 0 1 1.731-4.294m19.17-9.4L8.724 14.247c4.195-5.801 10.94-9.63 18.8-10.057a20 20 0 0 1-1.462 3.623M22.15 30.15v-2.3h-5.3v2.3zm1.422-6.514H21L27.43 16v6.364H30L23.572 30z"})})}return jsx(Fragment,{})};
4
4
 
5
5
  export { o as WritingAi };
@@ -315,6 +315,7 @@ var Sunrise = require('./Sunrise');
315
315
  var Sunset = require('./Sunset');
316
316
  var Swimming = require('./Swimming');
317
317
  var TechnicalRoute = require('./TechnicalRoute');
318
+ var ThirdQuarter = require('./ThirdQuarter');
318
319
  var ThreeLines = require('./ThreeLines');
319
320
  var ThreeLinesSpread = require('./ThreeLinesSpread');
320
321
  var ThumbsDown = require('./ThumbsDown');
@@ -1626,6 +1627,10 @@ Object.defineProperty(exports, "TechnicalRoute", {
1626
1627
  enumerable: true,
1627
1628
  get: function () { return TechnicalRoute.TechnicalRoute; }
1628
1629
  });
1630
+ Object.defineProperty(exports, "ThirdQuarter", {
1631
+ enumerable: true,
1632
+ get: function () { return ThirdQuarter.ThirdQuarter; }
1633
+ });
1629
1634
  Object.defineProperty(exports, "ThreeLines", {
1630
1635
  enumerable: true,
1631
1636
  get: function () { return ThreeLines.ThreeLines; }
@@ -313,6 +313,7 @@ export { Sunrise } from './Sunrise.cjs';
313
313
  export { Sunset } from './Sunset.cjs';
314
314
  export { Swimming } from './Swimming.cjs';
315
315
  export { TechnicalRoute } from './TechnicalRoute.cjs';
316
+ export { ThirdQuarter } from './ThirdQuarter.cjs';
316
317
  export { ThreeLines } from './ThreeLines.cjs';
317
318
  export { ThreeLinesSpread } from './ThreeLinesSpread.cjs';
318
319
  export { ThumbsDown } from './ThumbsDown.cjs';
@@ -313,6 +313,7 @@ export { Sunrise } from './Sunrise.js';
313
313
  export { Sunset } from './Sunset.js';
314
314
  export { Swimming } from './Swimming.js';
315
315
  export { TechnicalRoute } from './TechnicalRoute.js';
316
+ export { ThirdQuarter } from './ThirdQuarter.js';
316
317
  export { ThreeLines } from './ThreeLines.js';
317
318
  export { ThreeLinesSpread } from './ThreeLinesSpread.js';
318
319
  export { ThumbsDown } from './ThumbsDown.js';
@@ -313,6 +313,7 @@ export { Sunrise } from './Sunrise';
313
313
  export { Sunset } from './Sunset';
314
314
  export { Swimming } from './Swimming';
315
315
  export { TechnicalRoute } from './TechnicalRoute';
316
+ export { ThirdQuarter } from './ThirdQuarter';
316
317
  export { ThreeLines } from './ThreeLines';
317
318
  export { ThreeLinesSpread } from './ThreeLinesSpread';
318
319
  export { ThumbsDown } from './ThumbsDown';
@@ -313,6 +313,7 @@ export { Sunrise } from '../generated/icons/Sunrise.cjs';
313
313
  export { Sunset } from '../generated/icons/Sunset.cjs';
314
314
  export { Swimming } from '../generated/icons/Swimming.cjs';
315
315
  export { TechnicalRoute } from '../generated/icons/TechnicalRoute.cjs';
316
+ export { ThirdQuarter } from '../generated/icons/ThirdQuarter.cjs';
316
317
  export { ThreeLines } from '../generated/icons/ThreeLines.cjs';
317
318
  export { ThreeLinesSpread } from '../generated/icons/ThreeLinesSpread.cjs';
318
319
  export { ThumbsDown } from '../generated/icons/ThumbsDown.cjs';
@@ -313,6 +313,7 @@ export { Sunrise } from '../generated/icons/Sunrise.js';
313
313
  export { Sunset } from '../generated/icons/Sunset.js';
314
314
  export { Swimming } from '../generated/icons/Swimming.js';
315
315
  export { TechnicalRoute } from '../generated/icons/TechnicalRoute.js';
316
+ export { ThirdQuarter } from '../generated/icons/ThirdQuarter.js';
316
317
  export { ThreeLines } from '../generated/icons/ThreeLines.js';
317
318
  export { ThreeLinesSpread } from '../generated/icons/ThreeLinesSpread.js';
318
319
  export { ThumbsDown } from '../generated/icons/ThumbsDown.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yahoo/uds-icons",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist/**",
package/README.md DELETED
@@ -1,463 +0,0 @@
1
- import { DocImage } from '~/components/DocImage';
2
-
3
- # Icon system design
4
-
5
- Build a comprehensive Icon component which uses the [new icon library](https://www.figma.com/file/PVSsdT9z4uw7gg0JKMO8Ue/Icon-Library-%5BWIP%5D?type=design&node-id=2970-2&mode=design&t=ttNox6vrtc4q9tTf-0) created by the Design Studio team.
6
-
7
- **Goals**
8
-
9
- 1. Scalable. Addresses all the icon (feature) needs across Yahoo products, today and tomorrow.
10
- 1. Build a source of truth. Reduce code duplication and ensure icons are always consistent and up-to-date.
11
- 1. Fast delivery from Studio team creation -> code -> icons in the hands of product teams.
12
- 1. Best-in-class performance.
13
- 1. Deprecate Fuji icons.
14
-
15
- ## Requirements
16
-
17
- ### Styles
18
-
19
- The following styling options are available for icons:
20
-
21
- | Style | Possible values |
22
- | ------- | ---------------------------------------------------------------------------- |
23
- | Size | 16px, 24px, 32px |
24
- | Variant | `outline`, `fill` |
25
- | Color | One of the [foreground colors](/docs/core-concepts/color#foreground-palette) |
26
-
27
- > In the future, we may support customizing the sizes and colors in the [Configurator](/docs/getting-started/using-configurator). For now, the [Icon component](/docs/components/icon#examples) accepts overrides in code.
28
-
29
- ### Naming convention
30
-
31
- Icons follow a `name-variant-size` naming convention within the [Figma library](https://www.figma.com/file/PVSsdT9z4uw7gg0JKMO8Ue/Icon-Library-%5BWIP%5D?type=design&node-id=2970-2&mode=design&t=ttNox6vrtc4q9tTf-0). This convention maps to the Icon component's API, which contains props for `name`, `size`, and `variant`.
32
-
33
- | Figma name | Variant | Size | Size alias | Example usage |
34
- | ---------------- | ------- | ---- | ---------- | --------------------------------------------------- |
35
- | trash-outline-16 | outline | 16px | sm | `<Icon name={Trash} variant="outline" size="sm" />` |
36
- | trash-fill-16 | fill | 16px | sm | `<Icon name={Trash} variant="fill" size="sm" />` |
37
- | trash-outline-24 | outline | 24px | md | `<Icon name={Trash} variant="outline" size="md" />` |
38
- | trash-fill-24 | fill | 24px | md | `<Icon name={Trash} variant="fill" size="md" />` |
39
- | trash-outline-32 | outline | 32px | lg | `<Icon name={Trash} variant="outline" size="lg" />` |
40
- | trash-fill-32 | fill | 32px | lg | `<Icon name={Trash} variant="fill" size="lg" />` |
41
-
42
- ## Implementation details
43
-
44
- ### Overview
45
-
46
- Icons are typically implemented using web fonts or SVGs. UDS Icons are implemented
47
- using SVG because web fonts come with performance challenges (see [considerations](#considerations)) that we
48
- want to avoid. SVG also supports [all the features](#requirements) we need today, scales well,
49
- and keep the door open for for future features (e.g. multi-color, animations, or custom sizes).
50
-
51
- Benefits of SVG:
52
-
53
- - The performance impact of SVG is minimal.
54
- - SVG is a vector format that scales well to arbitrary sizes.
55
- - Easily targeted and styled with CSS features.
56
- - Built-in accessibility features
57
- - Works on web and react native.
58
- - Animations [[future work](#future-work)] - easily manipulated and animated with CSS and/or JS.
59
- - Multi-colored & Two-tone ([future work](#future-work)) - individual SVG paths can be styled with different colors.
60
-
61
- ### Package structure
62
-
63
- Icon assets are shipped in separate package from core `@yahoo/uds`. This for a few reasons:
64
-
65
- - Keeps the size of core `@yahoo/uds` small. There currently 1200+ icons, which will increase over time.
66
- - Separate packages can be versioned independently.
67
- - Adding a new icon or updating an existing illustrations doesn't require code changes or a new release of to `@yahoo/uds`.
68
-
69
- | Bundle | Description |
70
- | --------------------------- | -------------------------------------------------- |
71
- | `@yahoo/uds-icons` | Icons to import and use |
72
- | `@yahoo/uds-icons/fixtures` | An exported `iconNames` containing all icon names. |
73
-
74
- ### Component design
75
-
76
- The component API uses a [familiar approach](#prior-art)) to other popular icon
77
- libraries, which is is break icons up from the core library package. A user
78
- consumes icons by importing an icon from the `@yahoo/uds-icons` package
79
- and passing it to the `Icon` component from the `@yahoo/uds` package.
80
- The latter is responsible for rendering the icon.
81
-
82
- #### Usage
83
-
84
- ```tsx
85
- import { Icon } from '@yahoo/uds';
86
- import { AccountRefresh, VideoCamera } from '@yahoo/uds-icons';
87
-
88
- <Icon name={AccountRefresh} variant="fill" size="sm" />
89
- <Icon name={VideoCamera} variant="fill" size="sm" />
90
- ```
91
-
92
- > **Tip**: See the Icon [component API docs](/docs/components/icon#usage) for alternate examples of how to import and use icons.
93
-
94
- #### API
95
-
96
- `Icon` provides the `<svg>` wrapper for all icons, as well as the props,
97
- functionality, and API surface. The design provides for flexibility and
98
- centralized location for making API changes in UDS. Adding features, style
99
- updates, or a11y hooks can be made across all icons without having to
100
- update icon assets, regenerate code, or ship a icon packages release.
101
-
102
- ```tsx title="packages/uds/src/components/Icon.tsx"
103
- import { getStyles } from '~/styles/styler';
104
- import { DEFAULT_SCALE_MODE, defaultTokensConfig } from '~/tokens';
105
-
106
- type HtmlSpanProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'>;
107
-
108
- interface IconProps extends HtmlSpanProps {
109
- // Icon to render from the icons package.
110
- name: (props: Pick<IconProps, 'size' | 'variant'>) => JSX.Element;
111
- size: 'sm' | 'md' | 'lg';
112
- variant: 'fill' | 'outline';
113
- color?: ForegroundColor;
114
- }
115
-
116
- export const Icon = ({
117
- name: SVGIcon,
118
- size,
119
- variant,
120
- color = 'primary',
121
- className,
122
- ...props
123
- }: IconProps) => {
124
- const styles = getStyles({ color, className });
125
- const scaleMode = defaultTokensConfig.scaleMode[DEFAULT_SCALE_MODE];
126
- const sizePx = scaleMode.iconSizes[size];
127
- return (
128
- <span {...props}>
129
- <svg
130
- xmlns="http://www.w3.org/2000/svg"
131
- width={sizePx}
132
- height={sizePx}
133
- viewBox={`0 0 ${sizePx} ${sizePx}`}
134
- aria-hidden="true"
135
- focusable="false"
136
- className={styles}
137
- >
138
- <SVGIcon size={size} variant={variant} />
139
- </svg>
140
- </span>
141
- );
142
- };
143
- ```
144
-
145
- ## Consumption pipeline
146
-
147
- The majority of the icon system is code-generated. This allows us to keep assets
148
- up-to-date and ingest quickly should the Studio team create new icons or make changes to existing ones.
149
-
150
- > **Tip**: the entire flow below can be run with one command: `bun run icons:pipeline`
151
-
152
- The pipeline consists of three steps:
153
-
154
- #### 1. Export icons from Figma
155
-
156
- Run the following command to export icons from Figma:
157
-
158
- ```bash
159
- bun run icons:export
160
- ```
161
-
162
- **What it's doing**
163
-
164
- Icons are exported as SVG using the Figma REST API. Files are saved in `./assets` with the naming convention from Figma (`name-variant-size.svg`).
165
-
166
- <DocImage light={{ src: '/images/icondocs/export_command.png' }} />
167
-
168
- The script flags any icons which are missing a variant or size and does not save these files. **This ensures that all icon in the library are complete and work as expected**.
169
-
170
- Notes:
171
-
172
- - If an icon is missing a variant or size, it will not be saved. Check Figma to ensure
173
- the icon is named properly and has all variants and sizes.
174
- - The script cerates `generated/iconNames.ts` containing the list of
175
- all icons that were exported and those which were ignored (e.g. not-saved) from Figma.
176
-
177
- #### 2. Optimize the SVG
178
-
179
- > **Note**: `bun run icons:export` needs to be run before this step.
180
-
181
- To optimize the exported .svg, run:
182
-
183
- ```bash
184
- bun run icons:optimize
185
- ```
186
-
187
- **What it's doing**
188
-
189
- The raw SVG files are optimized using SVGO and re-saved back to `./assets`.
190
- Unnecessary metadata is removed and path information is clean up.
191
- This **reduces the total size of all icons by ~682kb**.
192
-
193
- #### 3. Generate TSX icons
194
-
195
- > **Note**: `bun run icons:export` needs to be run before this step.
196
-
197
- TypeScript files are generated for each icon containing the JSX for each size and variant. To regenerate
198
- these files, run:
199
-
200
- ```bash
201
- bun run icons:codegen
202
- ```
203
-
204
- This script does the following:
205
-
206
- - Creates a `generated/icons/*.tsx` file for each JSX icon.
207
- - Creates a barrel `generated/icons/index.ts` file that exports all icons.
208
-
209
- **What it's doing**
210
-
211
- Raw .svg assets in the previous step are read `scripts/codgen.ts` and converted to TypeScript components. This script generates JSX elements which contain all the `<path>` information for
212
- each size and variant for a given icon. This allows for future variants or sizes to be added to
213
- the system without needing to change the component API.
214
-
215
- ```tsx title="Example code generated icon file"
216
- import { type IconProps } from '@yahoo/uds';
217
-
218
- export const Trash = ({ size, variant }: IconProps) => {
219
- if (variant === 'outline') {
220
- switch (size) {
221
- case 'sm':
222
- return <path fill="currentColor" d="M5 1h6v.9h3.9v1.8h-.998l-.00..." />;
223
- case 'md':
224
- return <path fill="currentColor" d="M8.364 2h7.272v1.727h5.546v2..." />;
225
- case 'lg':
226
- return <path fill="currentColor" d="M11 1H9.85v3H3v2.3h2.11l.007..." />;
227
- }
228
- }
229
-
230
- if (variant === 'fill') {
231
- switch (size) {
232
- case 'sm':
233
- return <path fill="currentColor" d="M5 1h6v.9h3.9v1...." />;
234
- case 'md':
235
- return <path fill="currentColor" d="M10.364 2h-2v1.727H2.818v2h18.36..." />;
236
- case 'lg':
237
- return <path fill="currentColor" d="M11 .85H9.85v3H3v2.3h26v-2.3h5v..." />;
238
- }
239
- }
240
- };
241
- ```
242
-
243
- ## Open questions
244
-
245
- 1. Do we need a icon color palette? Foreground colors might not be flexible enough for icons?
246
- 1. Do we only allow scaling up the `lg` size icons?
247
- 1. Naming convention for generated files: `Clock` vs. `ClockIcon`.
248
-
249
- ```tsx
250
- <Icon name={Clock} />
251
- // vs.
252
- <Icon name={ClockIcon} />
253
- ```
254
-
255
- Benefit of later is further grokability of code and intelliense help when typing just "icon".
256
-
257
- 1. Do we need a `variant` prop? TSX icons could be further broken down into `Outline` and `Fill` components. This would shed more bytes for perf.
258
-
259
- ```tsx
260
- <Icon name={Clock} variant="fill" />
261
- // vs.
262
- <Icon name={ClockFill} />
263
- ```
264
-
265
- 1. API for button and icon button:
266
- ```tsx
267
- // 1. Allow no customizations. Components decide everything (sizes, colors).
268
- <Button startIcon={Clock} />
269
- <IconButton name={Clock} />
270
- // 2. Customization through props:
271
- <Button startIcon={Clock} iconVariant="fill" iconSize="md" />
272
- <Button startIcon={Clock} {...iconProps} />
273
- // 3. Or, customization through composition:
274
- <Button startIcon={<Icon icon={Clock} variant="fill" size="md" />} />
275
- <IconButton name={<Icon icon={Clock} variant="fill" size="md" className="text-blue-900" />} />
276
- ```
277
-
278
- ## Future work
279
-
280
- This section covers possible future work and customizations to the icon system.
281
- Work can be prioritized based on product teams' needs and feedback.
282
-
283
- ### Scale mode
284
-
285
- [Scale modes](/docs/core-concepts/tokens#scale-modes-) is a project coming soon.
286
- When scale modes are available, icons can be updated to support different scale modes.
287
-
288
- ### React Native
289
-
290
- Explore [react-native-svg](https://github.com/software-mansion/react-native-svg) when
291
- we prioritize React Native components.
292
-
293
- ### SVGR
294
-
295
- Explore [SVGR CLI](https://react-svgr.com/docs/configuration-files/) for code generation.
296
- This wasn't used for the implementation beacuse SVGR's React component output
297
- is too limiting. However, their [custom
298
- templates](https://react-svgr.com/docs/custom-templates/) might be a viable option.
299
-
300
- ### Fuji -> new icons tool
301
-
302
- Create a tool to help teams migrate from Fuji to the new icon system.
303
-
304
- ### Custom icon sets
305
-
306
- > We would need to consider the use case to support this feature.
307
- > Teams may have existing icons they wish to use alongside Universal's Icons.
308
- > Custom icon sets could supported by passing to the `Icon` component if they adhere to
309
- > the format of the [Generated TSX icon](#3-generate-tsx-icons).
310
-
311
- ```tsx
312
- import { Icon, type IconProps } from '@yahoo/uds';
313
-
314
- // Extracted from the Fuji icon library
315
- // https://www.figma.com/file/5NG1HmR7s3LPxEJGL5gsWt/%F0%9F%97%BB-Fuji-Library?node-id=0%3A1951&mode=dev
316
- const FujiAlarmClock = ({ size, variant }: IconProps) => {
317
- if (variant === 'outline') {
318
- return (
319
- <path
320
- fillRule="evenodd"
321
- clipRule="evenodd"
322
- d="M6.22825 2.7065L2.70725 6.2275C2.51225 6.4225 2.25625 6.5205 2.00025 6.5205C1.74425 6.5205 1.48825 6.4225 1.29325 6.2275C0.90225 5.8375 0.90225 5.2035 1.29325 4.8135L4.81325 1.2925C5.20425 0.9025 5.83725 0.9025 6.22825 1.2925C6.61825 1.6835 6.61825 2.3165 6.22825 2.7065ZM22.7072 4.8135L19.1862 1.2925C18.9912 1.0975 18.7353 1.0005 18.4792 1.0005C18.2242 1.0005 17.9683 1.0975 17.7722 1.2925C17.3822 1.6835 17.3822 2.3165 17.7722 2.7075L21.2932 6.2275C21.6842 6.6185 22.3162 6.6185 22.7072 6.2275C23.0982 5.8375 23.0982 5.2035 22.7072 4.8135ZM11.9998 3C6.47775 3 1.99975 7.477 1.99975 13C1.99975 18.522 6.47775 23 11.9998 23C17.5227 23 21.9998 18.522 21.9998 13C21.9998 7.477 17.5227 3 11.9998 3ZM11.9998 21C7.58875 21 3.99975 17.411 3.99975 13C3.99975 8.589 7.58875 5 11.9998 5C16.4107 5 19.9998 8.589 19.9998 13C19.9998 17.411 16.4107 21 11.9998 21ZM11.4254 14.796L13.3443 16.714C13.7224 17.093 14.3367 17.093 14.7159 16.714C15.095 16.335 15.095 15.722 14.7159 15.343L13.0011 13.629V9C13.0011 8.447 12.5529 8 12.0007 8C11.4484 8 11.0002 8.447 11.0002 9V14C11.0002 14.333 11.1743 14.614 11.4254 14.796Z"
323
- fill="currentColor"
324
- />
325
- );
326
- }
327
- if (variant === 'fill') {
328
- return (
329
- <path
330
- fillRule="evenodd"
331
- clipRule="evenodd"
332
- d="M6.229 2.7065L2.708 6.2275C2.512 6.4235 2.257 6.5205 2.001 6.5205C1.745 6.5205 1.489 6.4235 1.294 6.2275C0.902 5.8375 0.902 5.2045 1.294 4.8135L4.814 1.2925C5.204 0.9025 5.838 0.9025 6.229 1.2925C6.618 1.6845 6.618 2.3165 6.229 2.7065ZM22.708 4.8135L19.187 1.2925C18.992 1.0985 18.736 1.0015 18.48 1.0015C18.225 1.0015 17.969 1.0985 17.773 1.2925C17.383 1.6845 17.383 2.3165 17.773 2.7085L21.294 6.2275C21.685 6.6185 22.316 6.6185 22.708 6.2275C23.099 5.8375 23.099 5.2045 22.708 4.8135ZM2 13.0005C2 7.4775 6.478 3.0005 12 3.0005C17.523 3.0005 22 7.4775 22 13.0005C22 18.5225 17.523 23.0005 12 23.0005C6.478 23.0005 2 18.5225 2 13.0005ZM11.426 14.7965L13.345 16.7145C13.723 17.0935 14.337 17.0935 14.716 16.7145C15.095 16.3355 15.095 15.7225 14.716 15.3435L13.001 13.6295V9.0005C13.001 8.4475 12.553 8.0005 12.001 8.0005C11.449 8.0005 11.001 8.4475 11.001 9.0005V14.0005C11.001 14.3335 11.175 14.6145 11.426 14.7965Z"
333
- fill="currentColor"
334
- />
335
- );
336
- }
337
- };
338
-
339
- export const CustomIconExample = () => {
340
- // @ts-expect-error - FujiAlarmClock is a custom icon name.
341
- return <Icon name={FujiAlarmClock} variant="outline" size="md" />;
342
- };
343
- ```
344
-
345
- ### Animated icons
346
-
347
- Icons could be extended to support motion through formats like [dotLottie](https://dotlottie.io/) or SVG animations. How to systemize motion across all icons is up for debate. There are
348
- also performance considerations to take into account introducing large amounts
349
- of JS or CSS to perform animations.
350
-
351
- ### Colors: Multi-colored, two-tone, linear gradients
352
-
353
- Icons could be extended to support more complex color options icons. Multi-color
354
- and two-two would require underlying changes to the SVG assets designed by
355
- the Studio team. We would also need systemize an API around what parts of an
356
- icon can be colored and how to apply things like linear gradients.
357
-
358
- ### RTL
359
-
360
- Right-to-left support could be added for icons. This would require changes to the `Icon` component to flip the icon horizontally when the `dir=rtl` attribute.
361
-
362
- RTL would be a larger project for UDS as it would require changes to all components, not just icons.
363
-
364
- ### Figma plugin
365
-
366
- The name validation script `bun icons:validate` can be turned into a Figma plugin. This would allow designers to validate icons while they work on them in Figma. Most of the issues
367
- with icons are due to naming inconsistencies.
368
-
369
- ## Development
370
-
371
- ### Setup
372
-
373
- 1. Copy the Figma access token from the [Vercel dashboard](https://vercel.com/yahoo-design/~/settings/environment-variables) or use your own by creating one in Figma > Settings.
374
- 1. Create a `.env` file in packages/icons :
375
-
376
- ```
377
- FIGMA_ACCESS_TOKEN=<FIGMA_ACCESS_TOKEN>
378
- ```
379
-
380
- This token is also added to the Github repo.
381
-
382
- ### Validating icons
383
-
384
- Running `icons:validate` will check that all icons have all variants and sizes defined
385
- but will not export the icons or generate code.
386
-
387
- ```bash
388
- # Do a dry-run
389
- bun --cwd packages/icons icons:validate
390
- ```
391
-
392
- ### Updating UDS icons
393
-
394
- > For now this is a manual process. In the future, icon export will be automated through CI.
395
-
396
- To update `@yahoo/uds-icons` with new icons, run the following command from the root of the monorepo:
397
-
398
- ```bash
399
- bun --cwd packages/icons icons:pipeline
400
- ```
401
-
402
- This exports and validates icons from Figma, optimizes the SVGs, and generates the TypeScript files.
403
- **If there are warnings of missing variants or sizes, check Figma to ensure the icon is named properly.**.
404
-
405
- If all goes well, commit the changes and push a PR:
406
-
407
- ```bash
408
- git co -b icons-update
409
- git add .
410
- git commit -m 'Updating codegen icons from Figma'
411
- git push origin icons-update
412
- ```
413
-
414
- ### Releases
415
-
416
- New versions of the `@yahoo/uds-icons` package are automatically released
417
- when the changeset PR is merged.
418
-
419
- ## Considerations
420
-
421
- ### Prior art
422
-
423
- There are many popular React icon libraries that have inspired the design of the Icon component:
424
-
425
- - [@coreui](https://coreui.io/react/docs/components/icon/#usage) react icon library
426
- - [Material UI icons](https://mui.com/material-ui/icons/)
427
- - [Lucide React](https://lucide.dev/guide/packages/lucide-react#one-generic-icon-component) icon library
428
- - [Shopify Polaris icons](https://polaris.shopify.com/components/images-and-icons/icon?example=icon-default)
429
-
430
- In the case of Material UI, Carbon, ADS, Uber Base UI, the icon base component is declared directly:
431
-
432
- ```tsx
433
- import { CameraIcon } from '@mui/icons-material';
434
- <CameraIcon color="primary" .../>
435
- ```
436
-
437
- Other references:
438
-
439
- - [Material UI icons](https://mui.com/material-ui/icons/)
440
- - [MS Fluent UI icons](https://react.fluentui.dev/?path=/docs/concepts-migration-from-v0-icons--page)
441
- - [Carbon Design system icons](https://carbondesignsystem.com/elements/icons/code)
442
- - [Atlassian Design System icons](https://atlassian.design/components/icon/examples)
443
- - [Material UI guide to reducing bundle size](https://mui.com/material-ui/guides/minimizing-bundle-size/)
444
-
445
- ### Performance of web fonts
446
-
447
- Web font files are easy to but are a common performance bottleneck
448
- on the web due to their large file sizes. This can range from dozens of
449
- KB to 1-2MB. For example Material Design's icon font is 129KB.
450
-
451
- Fonts causes issues like delaying first render, [FOUT](https://fonts.google.com/knowledge/glossary/fout), and negatively affecting core web vitals like [First Contentful Paint (FCP)](https://web.dev/articles/fcp). These problems grow worse over time as the file size grows
452
- due to new icons being added.
453
-
454
- All icon glyphs are contained in a single binary font file. This essentially means
455
- using 1-2 icons requires the user to download all icons. The entire font needs to be
456
- downloaded before any icons can be displayed.
457
-
458
- Fonts also pose an issue from workflow perspective. A font needs to be
459
- regenerated for any small change to the illustration library. While this isn't
460
- too difficult (there are online tools that exist for generating fonts from SVGs albeit
461
- not great ones), the downstream effect on users is cache invalidation. Users
462
- revisiting a page will be hit with re-downloading the font, repeating the
463
- cycle of poor page load UX.