| ... | ... | @@ -158,70 +158,166 @@ export const GitLabIcon = ({ |
| 158 | 158 | </svg> |
| 159 | 159 | ); |
| 160 | 160 | |
| 161 | // Microsoft Azure DevOps mark via selfhst/icons (CC BY 4.0): https://github.com/selfhst/icons/blob/main/svg/azure-devops.svg |
| 161 | 162 | export const AzureDevOpsIcon: Icon = (props) => { |
| 162 | 163 | const id = useId().replaceAll(":", ""); |
| 163 | | const gradientA = `${id}-azure-a`; |
| 164 | | const gradientB = `${id}-azure-b`; |
| 165 | | const gradientC = `${id}-azure-c`; |
| 164 | const gradientId = `${id}-azure`; |
| 166 | 165 | |
| 167 | 166 | return ( |
| 168 | | <svg {...props} viewBox="0 0 96 96"> |
| 167 | <svg {...props} viewBox="0 0 512 512"> |
| 169 | 168 | <defs> |
| 170 | 169 | <linearGradient |
| 171 | | id={gradientA} |
| 172 | | x1="-1032.17" |
| 173 | | x2="-1059.21" |
| 174 | | y1="145.31" |
| 175 | | y2="65.43" |
| 176 | | gradientTransform="matrix(1 0 0 -1 1075 158)" |
| 170 | id={`${gradientId}-a`} |
| 171 | x1="58.027" |
| 172 | x2="58.027" |
| 173 | y1="356.668" |
| 174 | y2="100.668" |
| 175 | gradientTransform="matrix(1 0 0 -1 0 514)" |
| 177 | 176 | gradientUnits="userSpaceOnUse" |
| 178 | 177 | > |
| 179 | | <stop offset="0" stopColor="#114a8b" /> |
| 180 | | <stop offset="1" stopColor="#0669bc" /> |
| 178 | <stop offset="0" stopColor="#163697" /> |
| 179 | <stop offset=".276" stopColor="#2052cb" /> |
| 180 | <stop offset=".518" stopColor="#2764e7" /> |
| 181 | <stop offset=".879" stopColor="#367af2" /> |
| 181 | 182 | </linearGradient> |
| 182 | 183 | <linearGradient |
| 183 | | id={gradientB} |
| 184 | | x1="-1023.73" |
| 185 | | x2="-1029.98" |
| 186 | | y1="108.08" |
| 187 | | y2="105.97" |
| 188 | | gradientTransform="matrix(1 0 0 -1 1075 158)" |
| 184 | id={`${gradientId}-b`} |
| 185 | x1="58.027" |
| 186 | x2="58.027" |
| 187 | y1="351.334" |
| 188 | y2="292.668" |
| 189 | gradientTransform="matrix(1 0 0 -1 0 514)" |
| 189 | 190 | gradientUnits="userSpaceOnUse" |
| 190 | 191 | > |
| 191 | | <stop offset="0" stopOpacity=".3" /> |
| 192 | | <stop offset=".07" stopOpacity=".2" /> |
| 193 | | <stop offset=".32" stopOpacity=".1" /> |
| 194 | | <stop offset=".62" stopOpacity=".05" /> |
| 195 | | <stop offset="1" stopOpacity="0" /> |
| 192 | <stop offset="0" stopColor="#102784" /> |
| 193 | <stop offset="1" stopColor="#2052cb" stopOpacity="0" /> |
| 196 | 194 | </linearGradient> |
| 197 | 195 | <linearGradient |
| 198 | | id={gradientC} |
| 199 | | x1="-1027.16" |
| 200 | | x2="-997.48" |
| 201 | | y1="147.64" |
| 202 | | y2="68.56" |
| 203 | | gradientTransform="matrix(1 0 0 -1 1075 158)" |
| 196 | id={`${gradientId}-c`} |
| 197 | x1="389.98" |
| 198 | x2="107.314" |
| 199 | y1="57.935" |
| 200 | y2="193.935" |
| 201 | gradientTransform="matrix(1 0 0 -1 0 514)" |
| 204 | 202 | gradientUnits="userSpaceOnUse" |
| 205 | 203 | > |
| 206 | | <stop offset="0" stopColor="#3ccbf4" /> |
| 207 | | <stop offset="1" stopColor="#2892df" /> |
| 204 | <stop offset="0" stopColor="#163697" /> |
| 205 | <stop offset=".301" stopColor="#2052cb" /> |
| 206 | <stop offset=".626" stopColor="#2764e7" /> |
| 207 | <stop offset=".926" stopColor="#367af2" /> |
| 208 | </linearGradient> |
| 209 | <linearGradient |
| 210 | id={`${gradientId}-d`} |
| 211 | x1="391.996" |
| 212 | x2="341.385" |
| 213 | y1="76.552" |
| 214 | y2="78.224" |
| 215 | gradientTransform="matrix(1 0 0 -1 0 514)" |
| 216 | gradientUnits="userSpaceOnUse" |
| 217 | > |
| 218 | <stop offset="0" stopColor="#102784" /> |
| 219 | <stop offset="1" stopColor="#2052cb" stopOpacity="0" /> |
| 220 | </linearGradient> |
| 221 | <linearGradient |
| 222 | id={`${gradientId}-e`} |
| 223 | x1="442.24" |
| 224 | x2="442.24" |
| 225 | y1="54.769" |
| 226 | y2="419.38" |
| 227 | gradientTransform="matrix(1 0 0 -1 0 514)" |
| 228 | gradientUnits="userSpaceOnUse" |
| 229 | > |
| 230 | <stop offset=".043" stopColor="#2052cb" /> |
| 231 | <stop offset=".489" stopColor="#367af2" /> |
| 232 | <stop offset=".943" stopColor="#16bbda" /> |
| 233 | </linearGradient> |
| 234 | <linearGradient |
| 235 | id={`${gradientId}-f`} |
| 236 | x1="435.596" |
| 237 | x2="425.732" |
| 238 | y1="270.413" |
| 239 | y2="385.266" |
| 240 | gradientTransform="matrix(1 0 0 -1 0 514)" |
| 241 | gradientUnits="userSpaceOnUse" |
| 242 | > |
| 243 | <stop offset=".134" stopColor="#16bbda" stopOpacity="0" /> |
| 244 | <stop offset=".932" stopColor="#6be7a0" stopOpacity=".8629" /> |
| 245 | </linearGradient> |
| 246 | <linearGradient |
| 247 | id={`${gradientId}-g`} |
| 248 | x1="437.081" |
| 249 | x2="507.893" |
| 250 | y1="204.362" |
| 251 | y2="119.081" |
| 252 | gradientTransform="matrix(1 0 0 -1 0 514)" |
| 253 | gradientUnits="userSpaceOnUse" |
| 254 | > |
| 255 | <stop offset="0" stopColor="#2c68e0" stopOpacity="0" /> |
| 256 | <stop offset=".898" stopColor="#66c0ff" stopOpacity=".5" /> |
| 257 | </linearGradient> |
| 258 | <linearGradient |
| 259 | id={`${gradientId}-h`} |
| 260 | x1="99.399" |
| 261 | x2="352.75" |
| 262 | y1="279.26" |
| 263 | y2="498.676" |
| 264 | gradientTransform="matrix(1 0 0 -1 0 514)" |
| 265 | gradientUnits="userSpaceOnUse" |
| 266 | > |
| 267 | <stop offset=".005" stopColor="#367af2" /> |
| 268 | <stop offset=".507" stopColor="#0fafff" /> |
| 269 | <stop offset="1" stopColor="#26cfe8" /> |
| 270 | </linearGradient> |
| 271 | <linearGradient |
| 272 | id={`${gradientId}-i`} |
| 273 | x1="184.342" |
| 274 | x2="338.581" |
| 275 | y1="356.795" |
| 276 | y2="480.642" |
| 277 | gradientTransform="matrix(1 0 0 -1 0 514)" |
| 278 | gradientUnits="userSpaceOnUse" |
| 279 | > |
| 280 | <stop offset=".443" stopColor="#26cfe8" stopOpacity="0" /> |
| 281 | <stop offset=".897" stopColor="#6be7a0" stopOpacity=".8629" /> |
| 208 | 282 | </linearGradient> |
| 209 | 283 | </defs> |
| 210 | 284 | <path |
| 211 | | fill={`url(#${gradientA})`} |
| 212 | | d="M33.34 6.54h26.04l-27.03 80.1a4.15 4.15 0 0 1-3.94 2.81H8.15a4.14 4.14 0 0 1-3.93-5.47L29.4 9.38a4.15 4.15 0 0 1 3.94-2.83z" |
| 285 | d="M116.1 73.4c-5.8 5.8-13.7 13.8-13.7 22.6v216.4c0 8.9-3.3 17.3-9 23.4s-13.3 9.2-21.1 8.5l-42.7-3.1c-7.9-.5-15-3.9-20.3-9.3-5.7-5.7-9.3-13.7-9.3-22.6V202.7c0-8.9 3.6-16.9 9.4-22.6l2-1.9z" |
| 286 | fill={`url(#${gradientId}-a)`} |
| 287 | /> |
| 288 | <path |
| 289 | d="M116.1 73.4c-5.8 5.8-13.7 13.8-13.7 22.6v216.4c0 8.9-3.3 17.3-9 23.4s-13.3 9.2-21.1 8.5l-42.7-3.1c-7.9-.5-15-3.9-20.3-9.3-5.7-5.7-9.3-13.7-9.3-22.6V202.7c0-8.9 3.6-16.9 9.4-22.6l2-1.9z" |
| 290 | fill={`url(#${gradientId}-b)`} |
| 291 | /> |
| 292 | <path |
| 293 | d="m500.5 366-128 106.7c-5.5 4.6-12.7 7.4-20.5 7.4q-2.4 0-4.8-.3l-112.5-16.9v27.8c0 11.7-9.6 21.3-21.3 21.3-7.3 0-13.5-3.6-17.5-9.1l-36.2-51.4-5.4-7.6-36.6-51.9-7-10c-2.6-3.5-3.9-7.8-3.9-12.3 0-6 2.5-11.6 6.8-15.7 3.8-3.7 9.1-5.8 14.5-5.8.4 0 1 .1 1.5.1l105.2 7.5L384 366.5l93.7 6.7c.7.1 1.6.1 2.3.1 7.8 0 14.9-2.7 20.5-7.3" |
| 294 | fill={`url(#${gradientId}-c)`} |
| 295 | /> |
| 296 | <path |
| 297 | d="m500.5 366-128 106.7c-5.5 4.6-12.7 7.4-20.5 7.4q-2.4 0-4.8-.3l-112.5-16.9v27.8c0 11.7-9.6 21.3-21.3 21.3-7.3 0-13.5-3.6-17.5-9.1l-36.2-51.4-5.4-7.6-36.6-51.9-7-10c-2.6-3.5-3.9-7.8-3.9-12.3 0-6 2.5-11.6 6.8-15.7 3.8-3.7 9.1-5.8 14.5-5.8.4 0 1 .1 1.5.1l105.2 7.5L384 366.5l93.7 6.7c.7.1 1.6.1 2.3.1 7.8 0 14.9-2.7 20.5-7.3" |
| 298 | fill={`url(#${gradientId}-d)`} |
| 299 | /> |
| 300 | <path |
| 301 | d="M512 170.7v170.7c0 9.9-4.5 18.8-11.5 24.6l-128 106.7c7-5.9 11.5-14.7 11.5-24.6V175.3c0-16.7 13-30.7 29.8-31.9l63.9-4.6c.7-.1 1.6-.1 2.3-.1 7.8 0 14.9 2.8 20.5 7.4 7 5.8 11.5 14.6 11.5 24.6" |
| 302 | fill={`url(#${gradientId}-e)`} |
| 303 | /> |
| 304 | <path |
| 305 | d="M512 170.7v170.7c0 9.9-4.5 18.8-11.5 24.6l-128 106.7c7-5.9 11.5-14.7 11.5-24.6V175.3c0-16.7 13-30.7 29.8-31.9l63.9-4.6c.7-.1 1.6-.1 2.3-.1 7.8 0 14.9 2.8 20.5 7.4 7 5.8 11.5 14.6 11.5 24.6" |
| 306 | fill={`url(#${gradientId}-f)`} |
| 307 | fillOpacity=".7" |
| 213 | 308 | /> |
| 214 | 309 | <path |
| 215 | | fill="#0078d4" |
| 216 | | d="M71.17 60.26H29.88a1.91 1.91 0 0 0-1.3 3.31l26.53 24.76a4.17 4.17 0 0 0 2.85 1.13h23.38z" |
| 310 | d="M512 170.7v170.7c0 9.9-4.5 18.8-11.5 24.6l-128 106.7c7-5.9 11.5-14.7 11.5-24.6V175.3c0-16.7 13-30.7 29.8-31.9l63.9-4.6c.7-.1 1.6-.1 2.3-.1 7.8 0 14.9 2.8 20.5 7.4 7 5.8 11.5 14.6 11.5 24.6" |
| 311 | fill={`url(#${gradientId}-g)`} |
| 217 | 312 | /> |
| 218 | 313 | <path |
| 219 | | fill={`url(#${gradientB})`} |
| 220 | | d="M33.34 6.54a4.12 4.12 0 0 0-3.95 2.88L4.25 83.92a4.14 4.14 0 0 0 3.91 5.54h20.79a4.44 4.44 0 0 0 3.4-2.9l5.02-14.78 17.91 16.7a4.24 4.24 0 0 0 2.67.97h23.29L71.02 60.26H41.24L59.47 6.55z" |
| 314 | d="M384 125.5c0 11.2-8.6 20.5-19.8 21.3-.5 0-1.1.1-1.6.1l-127.9 9.2-132.3 9.1-72.7 5.5c-6.9.4-13.2 3.1-18.2 7.4L116.1 73.4c4.7-4.7 10.9-8 17.8-9.1l100.8-15.1V21.3C234.7 9.6 244.3 0 256 0c5.8 0 11.1 2.3 14.9 6.1l33.4 32.6 16.9 16.5 40.3 39.3 16.1 15.8c4.1 3.9 6.4 9.4 6.4 15.2" |
| 315 | fill={`url(#${gradientId}-h)`} |
| 221 | 316 | /> |
| 222 | 317 | <path |
| 223 | | fill={`url(#${gradientC})`} |
| 224 | | d="M66.6 9.36a4.14 4.14 0 0 0-3.93-2.82H33.65a4.15 4.15 0 0 1 3.93 2.82l25.18 74.62a4.15 4.15 0 0 1-3.93 5.48h29.02a4.15 4.15 0 0 0 3.93-5.48z" |
| 318 | d="M384 125.5c0 11.2-8.6 20.5-19.8 21.3-.5 0-1.1.1-1.6.1l-127.9 9.2-132.3 9.1-72.7 5.5c-6.9.4-13.2 3.1-18.2 7.4L116.1 73.4c4.7-4.7 10.9-8 17.8-9.1l100.8-15.1V21.3C234.7 9.6 244.3 0 256 0c5.8 0 11.1 2.3 14.9 6.1l33.4 32.6 16.9 16.5 40.3 39.3 16.1 15.8c4.1 3.9 6.4 9.4 6.4 15.2" |
| 319 | fill={`url(#${gradientId}-i)`} |
| 320 | fillOpacity=".5" |
| 225 | 321 | /> |
| 226 | 322 | </svg> |
| 227 | 323 | ); |