platformicons 4.3.0 → 4.4.0

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.
@@ -1,2 +1,2 @@
1
- import a from"react";function t(){return(t=Object.assign||function(a){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(a[r]=e[r])}return a}).apply(this,arguments)}var e={android:"android",apple:"apple",capacitor:"capacitor",clojure:"clojure",cocoa:"apple","cocoa-objc":"apple","cocoa-swift":"swift",cordova:"cordova",cryengine:"cryengine",csharp:"csharp","csharp-aspnetcore":"csharp",dart:"dart",default:"default",dotnet:"dotnet","dotnet-awslambda":"aws","dotnet-aspnetcore":"dotnet","dotnet-aspnet":"dotnet","dotnet-csharp":"csharp","dotnet-blazor":"blazor","dotnet-uno":"uno","dotnet-xamarin":"xamarin",dotnetcore:"dotnetcore",dotnetfx:"dotnetfx",electron:"electron",elixir:"elixir",flutter:"flutter",fsharp:"fsharp",go:"go",godot:"godot",java:"java","java-appengine":"app-engine","java-android":"android","java-log4j":"java","java-log4j2":"java","java-logback":"logback","java-logging":"java","java-spring":"spring","java-spring-boot":"springboot",javascript:"javascript","javascript-angular":"angularjs","javascript-angularjs":"angularjs","javascript-backbone":"backbone","javascript-browser":"javascript","javascript-capacitor":"capacitor","javascript-cordova":"cordova","javascript-electron":"electron","javascript-ember":"ember","javascript-gatsby":"gatsby","javascript-ionic":"ionic","javascript-nextjs":"nextjs","javascript-react":"react","javascript-vue":"vue",ionic:"ionic",kotlin:"kotlin","kotlin-android":"android",native:"nativec","native-qt":"qt",node:"nodejs","node-awslambda":"aws","node-azurefunctions":"azure","node-connect":"nodejs","node-express":"express","node-gcpfunctions":"gcp","node-koa":"koa",perl:"perl",php:"php","php-laravel":"laravel","php-monolog":"php","php-symfony2":"symfony","php-symfony":"symfony",python:"python","python-aiohttp":"aiohttp","python-awslambda":"aws","python-azurefunctions":"azure","python-bottle":"bottle","python-celery":"celery","python-chalice":"chalice","python-django":"django","python-falcon":"falcon","python-flask":"flask","python-gcpfunctions":"gcp","python-pylons":"python","python-pyramid":"pyramid","python-pythonawslambda":"aws","python-rq":"redis","python-sanic":"python","python-serverless":"serverless","python-tornado":"tornado","python-tryton":"tryton",qt:"qt","react-native":"react",ruby:"ruby","ruby-rack":"ruby","ruby-rails":"rails","ruby-sinatra":"sinatra",rust:"rust","rust-actix":"actix",scala:"scala",stride3d:"stride3d",swift:"swift",unity:"unity",ue4:"unreal",unrealengine:"unreal"};function r(a){return a.replace(".","-")}function n(a){var t=r(a);return e[t]||(t.includes("-")?o(t):"default")}function o(a){return n(r(a).split("-")[0])}var i=function(e){var r=e.platform,i=e.size,s=void 0===i?20:i,c=e.format,p=void 0===c?"sm":c,l=e.radius,d=void 0===l?3:l,u=e.withLanguageIcon,v=e.languageIconStyles,g=void 0===v?{}:v,y=e.style,h=void 0===y?{}:y,f=function(a,t){if(null==a)return{};var e,r,n={},o=Object.keys(a);for(r=0;r<o.length;r++)t.indexOf(e=o[r])>=0||(n[e]=a[e]);return n}(e,["platform","size","format","radius","withLanguageIcon","languageIconStyles","style"]),j=n(r),b=require("../"+("lg"===p?"svg_80x80":"svg")+"/"+j+".svg"),m=o(r),x=require("../svg/"+m+".svg");return u&&m!==j&&"default"!==m?a.createElement("div",Object.assign({},f,{style:t({position:"relative"},h)}),a.createElement("img",{src:b,width:s,height:s,style:{borderRadius:d+"px"}}),a.createElement("img",{src:x,style:t({position:"absolute",bottom:"-1px",right:"-1px",height:"30%",width:"30%",borderRadius:"2px"},g)})):a.createElement("img",Object.assign({src:b,width:s,height:s},f,{style:t({borderRadius:d+"px"},h)}))};function s(a){var t,r=(a?[a]:["lg","sm"]).map(function(a){return Object.values(e).map(function(t){return require("../"+("lg"===a?"svg_80x80":"svg")+"/"+t+".svg")})}).flat();null==(t=document.querySelector("head"))||t.append.apply(t,r.map(function(a){var t=document.createElement("link");return t.rel="preload",t.as="image",t.href=a,t}))}export{i as PlatformIcon,s as preloadIcons};
1
+ import a from"react";function t(){return(t=Object.assign||function(a){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(a[n]=e[n])}return a}).apply(this,arguments)}var e={android:"android",apple:"apple",capacitor:"capacitor",clojure:"clojure",cocoa:"apple","cocoa-objc":"apple","cocoa-swift":"swift",cordova:"cordova",cryengine:"cryengine",csharp:"csharp","csharp-aspnetcore":"csharp",dart:"dart",default:"default",dotnet:"dotnet","dotnet-awslambda":"aws","dotnet-gcpfunctions":"gcp","dotnet-aspnetcore":"dotnet","dotnet-aspnet":"dotnet","dotnet-csharp":"csharp","dotnet-blazor":"blazor","dotnet-uno":"uno","dotnet-xamarin":"xamarin",dotnetcore:"dotnetcore",dotnetfx:"dotnetfx",electron:"electron",elixir:"elixir",flutter:"flutter",fsharp:"fsharp",go:"go",godot:"godot",java:"java","java-appengine":"app-engine","java-android":"android","java-log4j":"java","java-log4j2":"java","java-logback":"logback","java-logging":"java","java-spring":"spring","java-spring-boot":"springboot",javascript:"javascript","javascript-angular":"angularjs","javascript-angularjs":"angularjs","javascript-backbone":"backbone","javascript-browser":"javascript","javascript-capacitor":"capacitor","javascript-cordova":"cordova","javascript-electron":"electron","javascript-ember":"ember","javascript-gatsby":"gatsby","javascript-ionic":"ionic","javascript-nextjs":"nextjs","javascript-react":"react","javascript-vue":"vue",ionic:"ionic",kotlin:"kotlin","kotlin-android":"android",native:"nativec","native-qt":"qt",node:"nodejs","node-awslambda":"aws","node-azurefunctions":"azure","node-connect":"nodejs","node-express":"express","node-gcpfunctions":"gcp","node-koa":"koa",perl:"perl",php:"php","php-laravel":"laravel","php-monolog":"php","php-symfony2":"symfony","php-symfony":"symfony",python:"python","python-aiohttp":"aiohttp","python-awslambda":"aws","python-azurefunctions":"azure","python-bottle":"bottle","python-celery":"celery","python-chalice":"chalice","python-django":"django","python-falcon":"falcon","python-flask":"flask","python-gcpfunctions":"gcp","python-pylons":"python","python-pyramid":"pyramid","python-pythonawslambda":"aws","python-rq":"redis","python-sanic":"python","python-serverless":"serverless","python-tornado":"tornado","python-tryton":"tryton",qt:"qt","react-native":"react",ruby:"ruby","ruby-rack":"ruby","ruby-rails":"rails","ruby-sinatra":"sinatra",rust:"rust","rust-actix":"actix",scala:"scala",stride3d:"stride3d",swift:"swift",unity:"unity",ue4:"unreal",unreal:"unreal",unrealengine:"unreal"};function n(a){return a.replace(".","-")}function r(a){var t=n(a);return e[t]||(t.includes("-")?o(t):"default")}function o(a){return r(n(a).split("-")[0])}var i=function(e){var n=e.platform,i=e.size,s=void 0===i?20:i,c=e.format,p=void 0===c?"sm":c,l=e.radius,d=void 0===l?3:l,u=e.withLanguageIcon,v=e.languageIconStyles,g=void 0===v?{}:v,y=e.style,h=void 0===y?{}:y,f=function(a,t){if(null==a)return{};var e,n,r={},o=Object.keys(a);for(n=0;n<o.length;n++)t.indexOf(e=o[n])>=0||(r[e]=a[e]);return r}(e,["platform","size","format","radius","withLanguageIcon","languageIconStyles","style"]),j=r(n),b=require("../"+("lg"===p?"svg_80x80":"svg")+"/"+j+".svg"),m=o(n),x=require("../svg/"+m+".svg");return u&&m!==j&&"default"!==m?a.createElement("div",Object.assign({},f,{style:t({position:"relative"},h)}),a.createElement("img",{src:b,width:s,height:s,style:{borderRadius:d+"px"}}),a.createElement("img",{src:x,style:t({position:"absolute",bottom:"-1px",right:"-1px",height:"30%",width:"30%",borderRadius:"2px"},g)})):a.createElement("img",Object.assign({src:b,width:s,height:s},f,{style:t({borderRadius:d+"px"},h)}))};function s(a){var t,n=(a?[a]:["lg","sm"]).map(function(a){return Object.values(e).map(function(t){return require("../"+("lg"===a?"svg_80x80":"svg")+"/"+t+".svg")})}).flat();null==(t=document.querySelector("head"))||t.append.apply(t,n.map(function(a){var t=document.createElement("link");return t.rel="preload",t.as="image",t.href=a,t}))}export{i as PlatformIcon,s as preloadIcons};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/platformIcon.tsx","../src/preload.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const PLATFORM_TO_ICON = {\n android: \"android\",\n apple: \"apple\",\n capacitor: \"capacitor\",\n clojure: \"clojure\",\n cocoa: \"apple\",\n \"cocoa-objc\": \"apple\",\n \"cocoa-swift\": \"swift\",\n cordova: \"cordova\",\n cryengine: \"cryengine\",\n csharp: \"csharp\",\n \"csharp-aspnetcore\": \"csharp\",\n dart: \"dart\",\n default: \"default\",\n dotnet: \"dotnet\",\n \"dotnet-awslambda\": \"aws\",\n \"dotnet-aspnetcore\": \"dotnet\",\n \"dotnet-aspnet\": \"dotnet\",\n \"dotnet-csharp\": \"csharp\",\n \"dotnet-blazor\": \"blazor\",\n \"dotnet-uno\": \"uno\",\n \"dotnet-xamarin\": \"xamarin\",\n dotnetcore: \"dotnetcore\",\n dotnetfx: \"dotnetfx\",\n electron: \"electron\",\n elixir: \"elixir\",\n flutter: \"flutter\",\n fsharp: \"fsharp\",\n go: \"go\",\n godot: \"godot\",\n java: \"java\",\n \"java-appengine\": \"app-engine\",\n \"java-android\": \"android\",\n \"java-log4j\": \"java\",\n \"java-log4j2\": \"java\",\n \"java-logback\": \"logback\",\n \"java-logging\": \"java\",\n \"java-spring\": \"spring\",\n \"java-spring-boot\": \"springboot\",\n javascript: \"javascript\",\n \"javascript-angular\": \"angularjs\",\n \"javascript-angularjs\": \"angularjs\",\n \"javascript-backbone\": \"backbone\",\n \"javascript-browser\": \"javascript\",\n \"javascript-capacitor\": \"capacitor\",\n \"javascript-cordova\": \"cordova\",\n \"javascript-electron\": \"electron\",\n \"javascript-ember\": \"ember\",\n \"javascript-gatsby\": \"gatsby\",\n \"javascript-ionic\": \"ionic\",\n \"javascript-nextjs\": \"nextjs\",\n \"javascript-react\": \"react\",\n \"javascript-vue\": \"vue\",\n ionic: \"ionic\",\n kotlin: \"kotlin\",\n \"kotlin-android\": \"android\",\n native: \"nativec\",\n \"native-qt\": \"qt\",\n node: \"nodejs\",\n \"node-awslambda\": \"aws\",\n \"node-azurefunctions\": \"azure\",\n \"node-connect\": \"nodejs\",\n \"node-express\": \"express\",\n \"node-gcpfunctions\": \"gcp\",\n \"node-koa\": \"koa\",\n perl: \"perl\",\n php: \"php\",\n \"php-laravel\": \"laravel\",\n \"php-monolog\": \"php\",\n \"php-symfony2\": \"symfony\",\n \"php-symfony\": \"symfony\",\n python: \"python\",\n \"python-aiohttp\": \"aiohttp\",\n \"python-awslambda\": \"aws\",\n \"python-azurefunctions\": \"azure\",\n \"python-bottle\": \"bottle\",\n \"python-celery\": \"celery\",\n \"python-chalice\": \"chalice\",\n \"python-django\": \"django\",\n \"python-falcon\": \"falcon\",\n \"python-flask\": \"flask\",\n \"python-gcpfunctions\": \"gcp\",\n \"python-pylons\": \"python\",\n \"python-pyramid\": \"pyramid\",\n \"python-pythonawslambda\": \"aws\",\n \"python-rq\": \"redis\",\n \"python-sanic\": \"python\",\n \"python-serverless\": \"serverless\",\n \"python-tornado\": \"tornado\",\n \"python-tryton\": \"tryton\",\n qt: \"qt\",\n \"react-native\": \"react\",\n ruby: \"ruby\",\n \"ruby-rack\": \"ruby\",\n \"ruby-rails\": \"rails\",\n \"ruby-sinatra\": \"sinatra\",\n rust: \"rust\",\n \"rust-actix\": \"actix\",\n scala: \"scala\",\n stride3d: \"stride3d\",\n swift: \"swift\",\n unity: \"unity\",\n // This will be deprecated in favor of 'unrealengine'\n ue4: \"unreal\",\n unrealengine: \"unreal\",\n // Don't add new platforms down here!\n // Please add them where they belong alphabetically\n} as const;\n\nfunction normalizePlatform(platform: string): string {\n // sentry uses format python-django, but docs uses python.django\n // this function normalizes that\n return platform.replace(\".\", \"-\");\n}\n\nfunction getIcon(platform: string): Platform {\n const normalizedPlatform = normalizePlatform(platform);\n const icon = PLATFORM_TO_ICON[normalizedPlatform];\n\n if (icon) {\n return icon;\n }\n\n if (normalizedPlatform.includes(\"-\")) {\n return getLanguageIcon(normalizedPlatform);\n }\n\n return \"default\";\n}\n\nfunction getLanguageIcon(platform: string): Platform {\n const [language] = normalizePlatform(platform).split(\"-\");\n\n return getIcon(language);\n}\n\ntype Platform = typeof PLATFORM_TO_ICON[keyof typeof PLATFORM_TO_ICON];\n\ntype Props = React.HTMLAttributes<HTMLDivElement | HTMLImageElement> & {\n platform: string;\n size?: string | number;\n format?: \"sm\" | \"lg\";\n radius?: number | null;\n withLanguageIcon?: boolean;\n languageIconStyles?: React.CSSProperties;\n};\n\nconst PlatformIcon = ({\n platform,\n size = 20,\n format = \"sm\",\n radius = 3,\n withLanguageIcon,\n languageIconStyles = {},\n style = {},\n ...otherProps\n}: Props) => {\n const icon = getIcon(platform);\n const iconPath = require(`../${\n format === \"lg\" ? \"svg_80x80\" : \"svg\"\n }/${icon}.svg`);\n\n const languageIcon = getLanguageIcon(platform);\n const languageIconPath = require(`../svg/${languageIcon}.svg`);\n\n if (withLanguageIcon && languageIcon !== icon && languageIcon !== \"default\") {\n return (\n <div {...otherProps} style={{ position: \"relative\", ...style }}>\n <img\n src={iconPath}\n width={size}\n height={size}\n style={{ borderRadius: `${radius}px` }}\n />\n <img\n src={languageIconPath}\n style={{\n position: \"absolute\",\n bottom: \"-1px\",\n right: \"-1px\",\n height: \"30%\",\n width: \"30%\",\n borderRadius: \"2px\",\n ...languageIconStyles,\n }}\n />\n </div>\n );\n }\n\n return (\n <img\n src={iconPath}\n width={size}\n height={size}\n {...otherProps}\n style={{ borderRadius: `${radius}px`, ...style }}\n />\n );\n};\n\nexport default PlatformIcon;\n","import { PLATFORM_TO_ICON } from \"./platformIcon\";\n\n/**\n * Insert <link ref=\"preload\" /> elements into the <head> node to preload\n * platfrom icons. Useful to avoid render blocking / jank when we know we'll be\n * showing platform icons on the next page.\n */\nexport function preloadIcons(format?: \"sm\" | \"lg\") {\n const formats = format ? [format] : [\"lg\", \"sm\"];\n\n const paths: string[] = formats\n .map((f) =>\n Object.values(PLATFORM_TO_ICON).map((icon) =>\n require(`../${f === \"lg\" ? \"svg_80x80\" : \"svg\"}/${icon}.svg`)\n )\n )\n .flat();\n\n document.querySelector(\"head\")?.append(\n ...paths.map((path) => {\n const link = document.createElement(\"link\");\n link.rel = \"preload\";\n link.as = \"image\";\n link.href = path;\n return link;\n })\n );\n}\n"],"names":["PLATFORM_TO_ICON","android","apple","capacitor","clojure","cocoa","cocoa-objc","cocoa-swift","cordova","cryengine","csharp","csharp-aspnetcore","dart","default","dotnet","dotnet-awslambda","dotnet-aspnetcore","dotnet-aspnet","dotnet-csharp","dotnet-blazor","dotnet-uno","dotnet-xamarin","dotnetcore","dotnetfx","electron","elixir","flutter","fsharp","go","godot","java","java-appengine","java-android","java-log4j","java-log4j2","java-logback","java-logging","java-spring","java-spring-boot","javascript","javascript-angular","javascript-angularjs","javascript-backbone","javascript-browser","javascript-capacitor","javascript-cordova","javascript-electron","javascript-ember","javascript-gatsby","javascript-ionic","javascript-nextjs","javascript-react","javascript-vue","ionic","kotlin","kotlin-android","native","native-qt","node","node-awslambda","node-azurefunctions","node-connect","node-express","node-gcpfunctions","node-koa","perl","php","php-laravel","php-monolog","php-symfony2","php-symfony","python","python-aiohttp","python-awslambda","python-azurefunctions","python-bottle","python-celery","python-chalice","python-django","python-falcon","python-flask","python-gcpfunctions","python-pylons","python-pyramid","python-pythonawslambda","python-rq","python-sanic","python-serverless","python-tornado","python-tryton","qt","react-native","ruby","ruby-rack","ruby-rails","ruby-sinatra","rust","rust-actix","scala","stride3d","swift","unity","ue4","unrealengine","normalizePlatform","platform","replace","getIcon","normalizedPlatform","includes","getLanguageIcon","split","PlatformIcon","size","format","radius","withLanguageIcon","languageIconStyles","style","otherProps","icon","iconPath","require","languageIcon","languageIconPath","React","position","src","width","height","borderRadius","bottom","right","preloadIcons","paths","map","f","Object","values","flat","document","querySelector","append","path","link","createElement","rel","as","href"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/platformIcon.tsx","../src/preload.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const PLATFORM_TO_ICON = {\n android: \"android\",\n apple: \"apple\",\n capacitor: \"capacitor\",\n clojure: \"clojure\",\n cocoa: \"apple\",\n \"cocoa-objc\": \"apple\",\n \"cocoa-swift\": \"swift\",\n cordova: \"cordova\",\n cryengine: \"cryengine\",\n csharp: \"csharp\",\n \"csharp-aspnetcore\": \"csharp\",\n dart: \"dart\",\n default: \"default\",\n dotnet: \"dotnet\",\n \"dotnet-awslambda\": \"aws\",\n \"dotnet-gcpfunctions\": \"gcp\",\n \"dotnet-aspnetcore\": \"dotnet\",\n \"dotnet-aspnet\": \"dotnet\",\n \"dotnet-csharp\": \"csharp\",\n \"dotnet-blazor\": \"blazor\",\n \"dotnet-uno\": \"uno\",\n \"dotnet-xamarin\": \"xamarin\",\n dotnetcore: \"dotnetcore\",\n dotnetfx: \"dotnetfx\",\n electron: \"electron\",\n elixir: \"elixir\",\n flutter: \"flutter\",\n fsharp: \"fsharp\",\n go: \"go\",\n godot: \"godot\",\n java: \"java\",\n \"java-appengine\": \"app-engine\",\n \"java-android\": \"android\",\n \"java-log4j\": \"java\",\n \"java-log4j2\": \"java\",\n \"java-logback\": \"logback\",\n \"java-logging\": \"java\",\n \"java-spring\": \"spring\",\n \"java-spring-boot\": \"springboot\",\n javascript: \"javascript\",\n \"javascript-angular\": \"angularjs\",\n \"javascript-angularjs\": \"angularjs\",\n \"javascript-backbone\": \"backbone\",\n \"javascript-browser\": \"javascript\",\n \"javascript-capacitor\": \"capacitor\",\n \"javascript-cordova\": \"cordova\",\n \"javascript-electron\": \"electron\",\n \"javascript-ember\": \"ember\",\n \"javascript-gatsby\": \"gatsby\",\n \"javascript-ionic\": \"ionic\",\n \"javascript-nextjs\": \"nextjs\",\n \"javascript-react\": \"react\",\n \"javascript-vue\": \"vue\",\n ionic: \"ionic\",\n kotlin: \"kotlin\",\n \"kotlin-android\": \"android\",\n native: \"nativec\",\n \"native-qt\": \"qt\",\n node: \"nodejs\",\n \"node-awslambda\": \"aws\",\n \"node-azurefunctions\": \"azure\",\n \"node-connect\": \"nodejs\",\n \"node-express\": \"express\",\n \"node-gcpfunctions\": \"gcp\",\n \"node-koa\": \"koa\",\n perl: \"perl\",\n php: \"php\",\n \"php-laravel\": \"laravel\",\n \"php-monolog\": \"php\",\n \"php-symfony2\": \"symfony\",\n \"php-symfony\": \"symfony\",\n python: \"python\",\n \"python-aiohttp\": \"aiohttp\",\n \"python-awslambda\": \"aws\",\n \"python-azurefunctions\": \"azure\",\n \"python-bottle\": \"bottle\",\n \"python-celery\": \"celery\",\n \"python-chalice\": \"chalice\",\n \"python-django\": \"django\",\n \"python-falcon\": \"falcon\",\n \"python-flask\": \"flask\",\n \"python-gcpfunctions\": \"gcp\",\n \"python-pylons\": \"python\",\n \"python-pyramid\": \"pyramid\",\n \"python-pythonawslambda\": \"aws\",\n \"python-rq\": \"redis\",\n \"python-sanic\": \"python\",\n \"python-serverless\": \"serverless\",\n \"python-tornado\": \"tornado\",\n \"python-tryton\": \"tryton\",\n qt: \"qt\",\n \"react-native\": \"react\",\n ruby: \"ruby\",\n \"ruby-rack\": \"ruby\",\n \"ruby-rails\": \"rails\",\n \"ruby-sinatra\": \"sinatra\",\n rust: \"rust\",\n \"rust-actix\": \"actix\",\n scala: \"scala\",\n stride3d: \"stride3d\",\n swift: \"swift\",\n unity: \"unity\",\n // This will be deprecated in favor of 'unrealengine'\n ue4: \"unreal\",\n unreal: \"unreal\",\n unrealengine: \"unreal\",\n // Don't add new platforms down here!\n // Please add them where they belong alphabetically\n} as const;\n\nfunction normalizePlatform(platform: string): string {\n // sentry uses format python-django, but docs uses python.django\n // this function normalizes that\n return platform.replace(\".\", \"-\");\n}\n\nfunction getIcon(platform: string): Platform {\n const normalizedPlatform = normalizePlatform(platform);\n const icon = PLATFORM_TO_ICON[normalizedPlatform];\n\n if (icon) {\n return icon;\n }\n\n if (normalizedPlatform.includes(\"-\")) {\n return getLanguageIcon(normalizedPlatform);\n }\n\n return \"default\";\n}\n\nfunction getLanguageIcon(platform: string): Platform {\n const [language] = normalizePlatform(platform).split(\"-\");\n\n return getIcon(language);\n}\n\ntype Platform = typeof PLATFORM_TO_ICON[keyof typeof PLATFORM_TO_ICON];\n\ntype Props = React.HTMLAttributes<HTMLDivElement | HTMLImageElement> & {\n platform: string;\n size?: string | number;\n format?: \"sm\" | \"lg\";\n radius?: number | null;\n withLanguageIcon?: boolean;\n languageIconStyles?: React.CSSProperties;\n};\n\nconst PlatformIcon = ({\n platform,\n size = 20,\n format = \"sm\",\n radius = 3,\n withLanguageIcon,\n languageIconStyles = {},\n style = {},\n ...otherProps\n}: Props) => {\n const icon = getIcon(platform);\n const iconPath = require(`../${\n format === \"lg\" ? \"svg_80x80\" : \"svg\"\n }/${icon}.svg`);\n\n const languageIcon = getLanguageIcon(platform);\n const languageIconPath = require(`../svg/${languageIcon}.svg`);\n\n if (withLanguageIcon && languageIcon !== icon && languageIcon !== \"default\") {\n return (\n <div {...otherProps} style={{ position: \"relative\", ...style }}>\n <img\n src={iconPath}\n width={size}\n height={size}\n style={{ borderRadius: `${radius}px` }}\n />\n <img\n src={languageIconPath}\n style={{\n position: \"absolute\",\n bottom: \"-1px\",\n right: \"-1px\",\n height: \"30%\",\n width: \"30%\",\n borderRadius: \"2px\",\n ...languageIconStyles,\n }}\n />\n </div>\n );\n }\n\n return (\n <img\n src={iconPath}\n width={size}\n height={size}\n {...otherProps}\n style={{ borderRadius: `${radius}px`, ...style }}\n />\n );\n};\n\nexport default PlatformIcon;\n","import { PLATFORM_TO_ICON } from \"./platformIcon\";\n\n/**\n * Insert <link ref=\"preload\" /> elements into the <head> node to preload\n * platfrom icons. Useful to avoid render blocking / jank when we know we'll be\n * showing platform icons on the next page.\n */\nexport function preloadIcons(format?: \"sm\" | \"lg\") {\n const formats = format ? [format] : [\"lg\", \"sm\"];\n\n const paths: string[] = formats\n .map((f) =>\n Object.values(PLATFORM_TO_ICON).map((icon) =>\n require(`../${f === \"lg\" ? \"svg_80x80\" : \"svg\"}/${icon}.svg`)\n )\n )\n .flat();\n\n document.querySelector(\"head\")?.append(\n ...paths.map((path) => {\n const link = document.createElement(\"link\");\n link.rel = \"preload\";\n link.as = \"image\";\n link.href = path;\n return link;\n })\n );\n}\n"],"names":["PLATFORM_TO_ICON","android","apple","capacitor","clojure","cocoa","cocoa-objc","cocoa-swift","cordova","cryengine","csharp","csharp-aspnetcore","dart","default","dotnet","dotnet-awslambda","dotnet-gcpfunctions","dotnet-aspnetcore","dotnet-aspnet","dotnet-csharp","dotnet-blazor","dotnet-uno","dotnet-xamarin","dotnetcore","dotnetfx","electron","elixir","flutter","fsharp","go","godot","java","java-appengine","java-android","java-log4j","java-log4j2","java-logback","java-logging","java-spring","java-spring-boot","javascript","javascript-angular","javascript-angularjs","javascript-backbone","javascript-browser","javascript-capacitor","javascript-cordova","javascript-electron","javascript-ember","javascript-gatsby","javascript-ionic","javascript-nextjs","javascript-react","javascript-vue","ionic","kotlin","kotlin-android","native","native-qt","node","node-awslambda","node-azurefunctions","node-connect","node-express","node-gcpfunctions","node-koa","perl","php","php-laravel","php-monolog","php-symfony2","php-symfony","python","python-aiohttp","python-awslambda","python-azurefunctions","python-bottle","python-celery","python-chalice","python-django","python-falcon","python-flask","python-gcpfunctions","python-pylons","python-pyramid","python-pythonawslambda","python-rq","python-sanic","python-serverless","python-tornado","python-tryton","qt","react-native","ruby","ruby-rack","ruby-rails","ruby-sinatra","rust","rust-actix","scala","stride3d","swift","unity","ue4","unreal","unrealengine","normalizePlatform","platform","replace","getIcon","normalizedPlatform","includes","getLanguageIcon","split","PlatformIcon","size","format","radius","withLanguageIcon","languageIconStyles","style","otherProps","icon","iconPath","require","languageIcon","languageIconPath","React","position","src","width","height","borderRadius","bottom","right","preloadIcons","paths","map","f","Object","values","flat","document","querySelector","append","path","link","createElement","rel","as","href"],"mappings":"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"}
package/build/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var a,t=(a=require("react"))&&"object"==typeof a&&"default"in a?a.default:a;function e(){return(e=Object.assign||function(a){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(a[r]=e[r])}return a}).apply(this,arguments)}var r={android:"android",apple:"apple",capacitor:"capacitor",clojure:"clojure",cocoa:"apple","cocoa-objc":"apple","cocoa-swift":"swift",cordova:"cordova",cryengine:"cryengine",csharp:"csharp","csharp-aspnetcore":"csharp",dart:"dart",default:"default",dotnet:"dotnet","dotnet-awslambda":"aws","dotnet-aspnetcore":"dotnet","dotnet-aspnet":"dotnet","dotnet-csharp":"csharp","dotnet-blazor":"blazor","dotnet-uno":"uno","dotnet-xamarin":"xamarin",dotnetcore:"dotnetcore",dotnetfx:"dotnetfx",electron:"electron",elixir:"elixir",flutter:"flutter",fsharp:"fsharp",go:"go",godot:"godot",java:"java","java-appengine":"app-engine","java-android":"android","java-log4j":"java","java-log4j2":"java","java-logback":"logback","java-logging":"java","java-spring":"spring","java-spring-boot":"springboot",javascript:"javascript","javascript-angular":"angularjs","javascript-angularjs":"angularjs","javascript-backbone":"backbone","javascript-browser":"javascript","javascript-capacitor":"capacitor","javascript-cordova":"cordova","javascript-electron":"electron","javascript-ember":"ember","javascript-gatsby":"gatsby","javascript-ionic":"ionic","javascript-nextjs":"nextjs","javascript-react":"react","javascript-vue":"vue",ionic:"ionic",kotlin:"kotlin","kotlin-android":"android",native:"nativec","native-qt":"qt",node:"nodejs","node-awslambda":"aws","node-azurefunctions":"azure","node-connect":"nodejs","node-express":"express","node-gcpfunctions":"gcp","node-koa":"koa",perl:"perl",php:"php","php-laravel":"laravel","php-monolog":"php","php-symfony2":"symfony","php-symfony":"symfony",python:"python","python-aiohttp":"aiohttp","python-awslambda":"aws","python-azurefunctions":"azure","python-bottle":"bottle","python-celery":"celery","python-chalice":"chalice","python-django":"django","python-falcon":"falcon","python-flask":"flask","python-gcpfunctions":"gcp","python-pylons":"python","python-pyramid":"pyramid","python-pythonawslambda":"aws","python-rq":"redis","python-sanic":"python","python-serverless":"serverless","python-tornado":"tornado","python-tryton":"tryton",qt:"qt","react-native":"react",ruby:"ruby","ruby-rack":"ruby","ruby-rails":"rails","ruby-sinatra":"sinatra",rust:"rust","rust-actix":"actix",scala:"scala",stride3d:"stride3d",swift:"swift",unity:"unity",ue4:"unreal",unrealengine:"unreal"};function n(a){return a.replace(".","-")}function o(a){var t=n(a);return r[t]||(t.includes("-")?i(t):"default")}function i(a){return o(n(a).split("-")[0])}exports.PlatformIcon=function(a){var r=a.platform,n=a.size,s=void 0===n?20:n,c=a.format,p=void 0===c?"sm":c,l=a.radius,d=void 0===l?3:l,u=a.withLanguageIcon,v=a.languageIconStyles,g=void 0===v?{}:v,y=a.style,h=void 0===y?{}:y,f=function(a,t){if(null==a)return{};var e,r,n={},o=Object.keys(a);for(r=0;r<o.length;r++)t.indexOf(e=o[r])>=0||(n[e]=a[e]);return n}(a,["platform","size","format","radius","withLanguageIcon","languageIconStyles","style"]),j=o(r),b=require("../"+("lg"===p?"svg_80x80":"svg")+"/"+j+".svg"),m=i(r),x=require("../svg/"+m+".svg");return u&&m!==j&&"default"!==m?t.createElement("div",Object.assign({},f,{style:e({position:"relative"},h)}),t.createElement("img",{src:b,width:s,height:s,style:{borderRadius:d+"px"}}),t.createElement("img",{src:x,style:e({position:"absolute",bottom:"-1px",right:"-1px",height:"30%",width:"30%",borderRadius:"2px"},g)})):t.createElement("img",Object.assign({src:b,width:s,height:s},f,{style:e({borderRadius:d+"px"},h)}))},exports.preloadIcons=function(a){var t,e=(a?[a]:["lg","sm"]).map(function(a){return Object.values(r).map(function(t){return require("../"+("lg"===a?"svg_80x80":"svg")+"/"+t+".svg")})}).flat();null==(t=document.querySelector("head"))||t.append.apply(t,e.map(function(a){var t=document.createElement("link");return t.rel="preload",t.as="image",t.href=a,t}))};
1
+ var a,t=(a=require("react"))&&"object"==typeof a&&"default"in a?a.default:a;function e(){return(e=Object.assign||function(a){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(a[n]=e[n])}return a}).apply(this,arguments)}var n={android:"android",apple:"apple",capacitor:"capacitor",clojure:"clojure",cocoa:"apple","cocoa-objc":"apple","cocoa-swift":"swift",cordova:"cordova",cryengine:"cryengine",csharp:"csharp","csharp-aspnetcore":"csharp",dart:"dart",default:"default",dotnet:"dotnet","dotnet-awslambda":"aws","dotnet-gcpfunctions":"gcp","dotnet-aspnetcore":"dotnet","dotnet-aspnet":"dotnet","dotnet-csharp":"csharp","dotnet-blazor":"blazor","dotnet-uno":"uno","dotnet-xamarin":"xamarin",dotnetcore:"dotnetcore",dotnetfx:"dotnetfx",electron:"electron",elixir:"elixir",flutter:"flutter",fsharp:"fsharp",go:"go",godot:"godot",java:"java","java-appengine":"app-engine","java-android":"android","java-log4j":"java","java-log4j2":"java","java-logback":"logback","java-logging":"java","java-spring":"spring","java-spring-boot":"springboot",javascript:"javascript","javascript-angular":"angularjs","javascript-angularjs":"angularjs","javascript-backbone":"backbone","javascript-browser":"javascript","javascript-capacitor":"capacitor","javascript-cordova":"cordova","javascript-electron":"electron","javascript-ember":"ember","javascript-gatsby":"gatsby","javascript-ionic":"ionic","javascript-nextjs":"nextjs","javascript-react":"react","javascript-vue":"vue",ionic:"ionic",kotlin:"kotlin","kotlin-android":"android",native:"nativec","native-qt":"qt",node:"nodejs","node-awslambda":"aws","node-azurefunctions":"azure","node-connect":"nodejs","node-express":"express","node-gcpfunctions":"gcp","node-koa":"koa",perl:"perl",php:"php","php-laravel":"laravel","php-monolog":"php","php-symfony2":"symfony","php-symfony":"symfony",python:"python","python-aiohttp":"aiohttp","python-awslambda":"aws","python-azurefunctions":"azure","python-bottle":"bottle","python-celery":"celery","python-chalice":"chalice","python-django":"django","python-falcon":"falcon","python-flask":"flask","python-gcpfunctions":"gcp","python-pylons":"python","python-pyramid":"pyramid","python-pythonawslambda":"aws","python-rq":"redis","python-sanic":"python","python-serverless":"serverless","python-tornado":"tornado","python-tryton":"tryton",qt:"qt","react-native":"react",ruby:"ruby","ruby-rack":"ruby","ruby-rails":"rails","ruby-sinatra":"sinatra",rust:"rust","rust-actix":"actix",scala:"scala",stride3d:"stride3d",swift:"swift",unity:"unity",ue4:"unreal",unreal:"unreal",unrealengine:"unreal"};function r(a){return a.replace(".","-")}function o(a){var t=r(a);return n[t]||(t.includes("-")?i(t):"default")}function i(a){return o(r(a).split("-")[0])}exports.PlatformIcon=function(a){var n=a.platform,r=a.size,s=void 0===r?20:r,c=a.format,p=void 0===c?"sm":c,l=a.radius,d=void 0===l?3:l,u=a.withLanguageIcon,v=a.languageIconStyles,g=void 0===v?{}:v,y=a.style,h=void 0===y?{}:y,f=function(a,t){if(null==a)return{};var e,n,r={},o=Object.keys(a);for(n=0;n<o.length;n++)t.indexOf(e=o[n])>=0||(r[e]=a[e]);return r}(a,["platform","size","format","radius","withLanguageIcon","languageIconStyles","style"]),j=o(n),b=require("../"+("lg"===p?"svg_80x80":"svg")+"/"+j+".svg"),m=i(n),x=require("../svg/"+m+".svg");return u&&m!==j&&"default"!==m?t.createElement("div",Object.assign({},f,{style:e({position:"relative"},h)}),t.createElement("img",{src:b,width:s,height:s,style:{borderRadius:d+"px"}}),t.createElement("img",{src:x,style:e({position:"absolute",bottom:"-1px",right:"-1px",height:"30%",width:"30%",borderRadius:"2px"},g)})):t.createElement("img",Object.assign({src:b,width:s,height:s},f,{style:e({borderRadius:d+"px"},h)}))},exports.preloadIcons=function(a){var t,e=(a?[a]:["lg","sm"]).map(function(a){return Object.values(n).map(function(t){return require("../"+("lg"===a?"svg_80x80":"svg")+"/"+t+".svg")})}).flat();null==(t=document.querySelector("head"))||t.append.apply(t,e.map(function(a){var t=document.createElement("link");return t.rel="preload",t.as="image",t.href=a,t}))};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/platformIcon.tsx","../src/preload.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const PLATFORM_TO_ICON = {\n android: \"android\",\n apple: \"apple\",\n capacitor: \"capacitor\",\n clojure: \"clojure\",\n cocoa: \"apple\",\n \"cocoa-objc\": \"apple\",\n \"cocoa-swift\": \"swift\",\n cordova: \"cordova\",\n cryengine: \"cryengine\",\n csharp: \"csharp\",\n \"csharp-aspnetcore\": \"csharp\",\n dart: \"dart\",\n default: \"default\",\n dotnet: \"dotnet\",\n \"dotnet-awslambda\": \"aws\",\n \"dotnet-aspnetcore\": \"dotnet\",\n \"dotnet-aspnet\": \"dotnet\",\n \"dotnet-csharp\": \"csharp\",\n \"dotnet-blazor\": \"blazor\",\n \"dotnet-uno\": \"uno\",\n \"dotnet-xamarin\": \"xamarin\",\n dotnetcore: \"dotnetcore\",\n dotnetfx: \"dotnetfx\",\n electron: \"electron\",\n elixir: \"elixir\",\n flutter: \"flutter\",\n fsharp: \"fsharp\",\n go: \"go\",\n godot: \"godot\",\n java: \"java\",\n \"java-appengine\": \"app-engine\",\n \"java-android\": \"android\",\n \"java-log4j\": \"java\",\n \"java-log4j2\": \"java\",\n \"java-logback\": \"logback\",\n \"java-logging\": \"java\",\n \"java-spring\": \"spring\",\n \"java-spring-boot\": \"springboot\",\n javascript: \"javascript\",\n \"javascript-angular\": \"angularjs\",\n \"javascript-angularjs\": \"angularjs\",\n \"javascript-backbone\": \"backbone\",\n \"javascript-browser\": \"javascript\",\n \"javascript-capacitor\": \"capacitor\",\n \"javascript-cordova\": \"cordova\",\n \"javascript-electron\": \"electron\",\n \"javascript-ember\": \"ember\",\n \"javascript-gatsby\": \"gatsby\",\n \"javascript-ionic\": \"ionic\",\n \"javascript-nextjs\": \"nextjs\",\n \"javascript-react\": \"react\",\n \"javascript-vue\": \"vue\",\n ionic: \"ionic\",\n kotlin: \"kotlin\",\n \"kotlin-android\": \"android\",\n native: \"nativec\",\n \"native-qt\": \"qt\",\n node: \"nodejs\",\n \"node-awslambda\": \"aws\",\n \"node-azurefunctions\": \"azure\",\n \"node-connect\": \"nodejs\",\n \"node-express\": \"express\",\n \"node-gcpfunctions\": \"gcp\",\n \"node-koa\": \"koa\",\n perl: \"perl\",\n php: \"php\",\n \"php-laravel\": \"laravel\",\n \"php-monolog\": \"php\",\n \"php-symfony2\": \"symfony\",\n \"php-symfony\": \"symfony\",\n python: \"python\",\n \"python-aiohttp\": \"aiohttp\",\n \"python-awslambda\": \"aws\",\n \"python-azurefunctions\": \"azure\",\n \"python-bottle\": \"bottle\",\n \"python-celery\": \"celery\",\n \"python-chalice\": \"chalice\",\n \"python-django\": \"django\",\n \"python-falcon\": \"falcon\",\n \"python-flask\": \"flask\",\n \"python-gcpfunctions\": \"gcp\",\n \"python-pylons\": \"python\",\n \"python-pyramid\": \"pyramid\",\n \"python-pythonawslambda\": \"aws\",\n \"python-rq\": \"redis\",\n \"python-sanic\": \"python\",\n \"python-serverless\": \"serverless\",\n \"python-tornado\": \"tornado\",\n \"python-tryton\": \"tryton\",\n qt: \"qt\",\n \"react-native\": \"react\",\n ruby: \"ruby\",\n \"ruby-rack\": \"ruby\",\n \"ruby-rails\": \"rails\",\n \"ruby-sinatra\": \"sinatra\",\n rust: \"rust\",\n \"rust-actix\": \"actix\",\n scala: \"scala\",\n stride3d: \"stride3d\",\n swift: \"swift\",\n unity: \"unity\",\n // This will be deprecated in favor of 'unrealengine'\n ue4: \"unreal\",\n unrealengine: \"unreal\",\n // Don't add new platforms down here!\n // Please add them where they belong alphabetically\n} as const;\n\nfunction normalizePlatform(platform: string): string {\n // sentry uses format python-django, but docs uses python.django\n // this function normalizes that\n return platform.replace(\".\", \"-\");\n}\n\nfunction getIcon(platform: string): Platform {\n const normalizedPlatform = normalizePlatform(platform);\n const icon = PLATFORM_TO_ICON[normalizedPlatform];\n\n if (icon) {\n return icon;\n }\n\n if (normalizedPlatform.includes(\"-\")) {\n return getLanguageIcon(normalizedPlatform);\n }\n\n return \"default\";\n}\n\nfunction getLanguageIcon(platform: string): Platform {\n const [language] = normalizePlatform(platform).split(\"-\");\n\n return getIcon(language);\n}\n\ntype Platform = typeof PLATFORM_TO_ICON[keyof typeof PLATFORM_TO_ICON];\n\ntype Props = React.HTMLAttributes<HTMLDivElement | HTMLImageElement> & {\n platform: string;\n size?: string | number;\n format?: \"sm\" | \"lg\";\n radius?: number | null;\n withLanguageIcon?: boolean;\n languageIconStyles?: React.CSSProperties;\n};\n\nconst PlatformIcon = ({\n platform,\n size = 20,\n format = \"sm\",\n radius = 3,\n withLanguageIcon,\n languageIconStyles = {},\n style = {},\n ...otherProps\n}: Props) => {\n const icon = getIcon(platform);\n const iconPath = require(`../${\n format === \"lg\" ? \"svg_80x80\" : \"svg\"\n }/${icon}.svg`);\n\n const languageIcon = getLanguageIcon(platform);\n const languageIconPath = require(`../svg/${languageIcon}.svg`);\n\n if (withLanguageIcon && languageIcon !== icon && languageIcon !== \"default\") {\n return (\n <div {...otherProps} style={{ position: \"relative\", ...style }}>\n <img\n src={iconPath}\n width={size}\n height={size}\n style={{ borderRadius: `${radius}px` }}\n />\n <img\n src={languageIconPath}\n style={{\n position: \"absolute\",\n bottom: \"-1px\",\n right: \"-1px\",\n height: \"30%\",\n width: \"30%\",\n borderRadius: \"2px\",\n ...languageIconStyles,\n }}\n />\n </div>\n );\n }\n\n return (\n <img\n src={iconPath}\n width={size}\n height={size}\n {...otherProps}\n style={{ borderRadius: `${radius}px`, ...style }}\n />\n );\n};\n\nexport default PlatformIcon;\n","import { PLATFORM_TO_ICON } from \"./platformIcon\";\n\n/**\n * Insert <link ref=\"preload\" /> elements into the <head> node to preload\n * platfrom icons. Useful to avoid render blocking / jank when we know we'll be\n * showing platform icons on the next page.\n */\nexport function preloadIcons(format?: \"sm\" | \"lg\") {\n const formats = format ? [format] : [\"lg\", \"sm\"];\n\n const paths: string[] = formats\n .map((f) =>\n Object.values(PLATFORM_TO_ICON).map((icon) =>\n require(`../${f === \"lg\" ? \"svg_80x80\" : \"svg\"}/${icon}.svg`)\n )\n )\n .flat();\n\n document.querySelector(\"head\")?.append(\n ...paths.map((path) => {\n const link = document.createElement(\"link\");\n link.rel = \"preload\";\n link.as = \"image\";\n link.href = path;\n return link;\n })\n );\n}\n"],"names":["PLATFORM_TO_ICON","android","apple","capacitor","clojure","cocoa","cocoa-objc","cocoa-swift","cordova","cryengine","csharp","csharp-aspnetcore","dart","default","dotnet","dotnet-awslambda","dotnet-aspnetcore","dotnet-aspnet","dotnet-csharp","dotnet-blazor","dotnet-uno","dotnet-xamarin","dotnetcore","dotnetfx","electron","elixir","flutter","fsharp","go","godot","java","java-appengine","java-android","java-log4j","java-log4j2","java-logback","java-logging","java-spring","java-spring-boot","javascript","javascript-angular","javascript-angularjs","javascript-backbone","javascript-browser","javascript-capacitor","javascript-cordova","javascript-electron","javascript-ember","javascript-gatsby","javascript-ionic","javascript-nextjs","javascript-react","javascript-vue","ionic","kotlin","kotlin-android","native","native-qt","node","node-awslambda","node-azurefunctions","node-connect","node-express","node-gcpfunctions","node-koa","perl","php","php-laravel","php-monolog","php-symfony2","php-symfony","python","python-aiohttp","python-awslambda","python-azurefunctions","python-bottle","python-celery","python-chalice","python-django","python-falcon","python-flask","python-gcpfunctions","python-pylons","python-pyramid","python-pythonawslambda","python-rq","python-sanic","python-serverless","python-tornado","python-tryton","qt","react-native","ruby","ruby-rack","ruby-rails","ruby-sinatra","rust","rust-actix","scala","stride3d","swift","unity","ue4","unrealengine","normalizePlatform","platform","replace","getIcon","normalizedPlatform","includes","getLanguageIcon","split","size","format","radius","withLanguageIcon","languageIconStyles","style","otherProps","icon","iconPath","require","languageIcon","languageIconPath","React","position","src","width","height","borderRadius","bottom","right","paths","map","f","Object","values","flat","document","querySelector","append","path","link","createElement","rel","as","href"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/platformIcon.tsx","../src/preload.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const PLATFORM_TO_ICON = {\n android: \"android\",\n apple: \"apple\",\n capacitor: \"capacitor\",\n clojure: \"clojure\",\n cocoa: \"apple\",\n \"cocoa-objc\": \"apple\",\n \"cocoa-swift\": \"swift\",\n cordova: \"cordova\",\n cryengine: \"cryengine\",\n csharp: \"csharp\",\n \"csharp-aspnetcore\": \"csharp\",\n dart: \"dart\",\n default: \"default\",\n dotnet: \"dotnet\",\n \"dotnet-awslambda\": \"aws\",\n \"dotnet-gcpfunctions\": \"gcp\",\n \"dotnet-aspnetcore\": \"dotnet\",\n \"dotnet-aspnet\": \"dotnet\",\n \"dotnet-csharp\": \"csharp\",\n \"dotnet-blazor\": \"blazor\",\n \"dotnet-uno\": \"uno\",\n \"dotnet-xamarin\": \"xamarin\",\n dotnetcore: \"dotnetcore\",\n dotnetfx: \"dotnetfx\",\n electron: \"electron\",\n elixir: \"elixir\",\n flutter: \"flutter\",\n fsharp: \"fsharp\",\n go: \"go\",\n godot: \"godot\",\n java: \"java\",\n \"java-appengine\": \"app-engine\",\n \"java-android\": \"android\",\n \"java-log4j\": \"java\",\n \"java-log4j2\": \"java\",\n \"java-logback\": \"logback\",\n \"java-logging\": \"java\",\n \"java-spring\": \"spring\",\n \"java-spring-boot\": \"springboot\",\n javascript: \"javascript\",\n \"javascript-angular\": \"angularjs\",\n \"javascript-angularjs\": \"angularjs\",\n \"javascript-backbone\": \"backbone\",\n \"javascript-browser\": \"javascript\",\n \"javascript-capacitor\": \"capacitor\",\n \"javascript-cordova\": \"cordova\",\n \"javascript-electron\": \"electron\",\n \"javascript-ember\": \"ember\",\n \"javascript-gatsby\": \"gatsby\",\n \"javascript-ionic\": \"ionic\",\n \"javascript-nextjs\": \"nextjs\",\n \"javascript-react\": \"react\",\n \"javascript-vue\": \"vue\",\n ionic: \"ionic\",\n kotlin: \"kotlin\",\n \"kotlin-android\": \"android\",\n native: \"nativec\",\n \"native-qt\": \"qt\",\n node: \"nodejs\",\n \"node-awslambda\": \"aws\",\n \"node-azurefunctions\": \"azure\",\n \"node-connect\": \"nodejs\",\n \"node-express\": \"express\",\n \"node-gcpfunctions\": \"gcp\",\n \"node-koa\": \"koa\",\n perl: \"perl\",\n php: \"php\",\n \"php-laravel\": \"laravel\",\n \"php-monolog\": \"php\",\n \"php-symfony2\": \"symfony\",\n \"php-symfony\": \"symfony\",\n python: \"python\",\n \"python-aiohttp\": \"aiohttp\",\n \"python-awslambda\": \"aws\",\n \"python-azurefunctions\": \"azure\",\n \"python-bottle\": \"bottle\",\n \"python-celery\": \"celery\",\n \"python-chalice\": \"chalice\",\n \"python-django\": \"django\",\n \"python-falcon\": \"falcon\",\n \"python-flask\": \"flask\",\n \"python-gcpfunctions\": \"gcp\",\n \"python-pylons\": \"python\",\n \"python-pyramid\": \"pyramid\",\n \"python-pythonawslambda\": \"aws\",\n \"python-rq\": \"redis\",\n \"python-sanic\": \"python\",\n \"python-serverless\": \"serverless\",\n \"python-tornado\": \"tornado\",\n \"python-tryton\": \"tryton\",\n qt: \"qt\",\n \"react-native\": \"react\",\n ruby: \"ruby\",\n \"ruby-rack\": \"ruby\",\n \"ruby-rails\": \"rails\",\n \"ruby-sinatra\": \"sinatra\",\n rust: \"rust\",\n \"rust-actix\": \"actix\",\n scala: \"scala\",\n stride3d: \"stride3d\",\n swift: \"swift\",\n unity: \"unity\",\n // This will be deprecated in favor of 'unrealengine'\n ue4: \"unreal\",\n unreal: \"unreal\",\n unrealengine: \"unreal\",\n // Don't add new platforms down here!\n // Please add them where they belong alphabetically\n} as const;\n\nfunction normalizePlatform(platform: string): string {\n // sentry uses format python-django, but docs uses python.django\n // this function normalizes that\n return platform.replace(\".\", \"-\");\n}\n\nfunction getIcon(platform: string): Platform {\n const normalizedPlatform = normalizePlatform(platform);\n const icon = PLATFORM_TO_ICON[normalizedPlatform];\n\n if (icon) {\n return icon;\n }\n\n if (normalizedPlatform.includes(\"-\")) {\n return getLanguageIcon(normalizedPlatform);\n }\n\n return \"default\";\n}\n\nfunction getLanguageIcon(platform: string): Platform {\n const [language] = normalizePlatform(platform).split(\"-\");\n\n return getIcon(language);\n}\n\ntype Platform = typeof PLATFORM_TO_ICON[keyof typeof PLATFORM_TO_ICON];\n\ntype Props = React.HTMLAttributes<HTMLDivElement | HTMLImageElement> & {\n platform: string;\n size?: string | number;\n format?: \"sm\" | \"lg\";\n radius?: number | null;\n withLanguageIcon?: boolean;\n languageIconStyles?: React.CSSProperties;\n};\n\nconst PlatformIcon = ({\n platform,\n size = 20,\n format = \"sm\",\n radius = 3,\n withLanguageIcon,\n languageIconStyles = {},\n style = {},\n ...otherProps\n}: Props) => {\n const icon = getIcon(platform);\n const iconPath = require(`../${\n format === \"lg\" ? \"svg_80x80\" : \"svg\"\n }/${icon}.svg`);\n\n const languageIcon = getLanguageIcon(platform);\n const languageIconPath = require(`../svg/${languageIcon}.svg`);\n\n if (withLanguageIcon && languageIcon !== icon && languageIcon !== \"default\") {\n return (\n <div {...otherProps} style={{ position: \"relative\", ...style }}>\n <img\n src={iconPath}\n width={size}\n height={size}\n style={{ borderRadius: `${radius}px` }}\n />\n <img\n src={languageIconPath}\n style={{\n position: \"absolute\",\n bottom: \"-1px\",\n right: \"-1px\",\n height: \"30%\",\n width: \"30%\",\n borderRadius: \"2px\",\n ...languageIconStyles,\n }}\n />\n </div>\n );\n }\n\n return (\n <img\n src={iconPath}\n width={size}\n height={size}\n {...otherProps}\n style={{ borderRadius: `${radius}px`, ...style }}\n />\n );\n};\n\nexport default PlatformIcon;\n","import { PLATFORM_TO_ICON } from \"./platformIcon\";\n\n/**\n * Insert <link ref=\"preload\" /> elements into the <head> node to preload\n * platfrom icons. Useful to avoid render blocking / jank when we know we'll be\n * showing platform icons on the next page.\n */\nexport function preloadIcons(format?: \"sm\" | \"lg\") {\n const formats = format ? [format] : [\"lg\", \"sm\"];\n\n const paths: string[] = formats\n .map((f) =>\n Object.values(PLATFORM_TO_ICON).map((icon) =>\n require(`../${f === \"lg\" ? \"svg_80x80\" : \"svg\"}/${icon}.svg`)\n )\n )\n .flat();\n\n document.querySelector(\"head\")?.append(\n ...paths.map((path) => {\n const link = document.createElement(\"link\");\n link.rel = \"preload\";\n link.as = \"image\";\n link.href = path;\n return link;\n })\n );\n}\n"],"names":["PLATFORM_TO_ICON","android","apple","capacitor","clojure","cocoa","cocoa-objc","cocoa-swift","cordova","cryengine","csharp","csharp-aspnetcore","dart","default","dotnet","dotnet-awslambda","dotnet-gcpfunctions","dotnet-aspnetcore","dotnet-aspnet","dotnet-csharp","dotnet-blazor","dotnet-uno","dotnet-xamarin","dotnetcore","dotnetfx","electron","elixir","flutter","fsharp","go","godot","java","java-appengine","java-android","java-log4j","java-log4j2","java-logback","java-logging","java-spring","java-spring-boot","javascript","javascript-angular","javascript-angularjs","javascript-backbone","javascript-browser","javascript-capacitor","javascript-cordova","javascript-electron","javascript-ember","javascript-gatsby","javascript-ionic","javascript-nextjs","javascript-react","javascript-vue","ionic","kotlin","kotlin-android","native","native-qt","node","node-awslambda","node-azurefunctions","node-connect","node-express","node-gcpfunctions","node-koa","perl","php","php-laravel","php-monolog","php-symfony2","php-symfony","python","python-aiohttp","python-awslambda","python-azurefunctions","python-bottle","python-celery","python-chalice","python-django","python-falcon","python-flask","python-gcpfunctions","python-pylons","python-pyramid","python-pythonawslambda","python-rq","python-sanic","python-serverless","python-tornado","python-tryton","qt","react-native","ruby","ruby-rack","ruby-rails","ruby-sinatra","rust","rust-actix","scala","stride3d","swift","unity","ue4","unreal","unrealengine","normalizePlatform","platform","replace","getIcon","normalizedPlatform","includes","getLanguageIcon","split","size","format","radius","withLanguageIcon","languageIconStyles","style","otherProps","icon","iconPath","require","languageIcon","languageIconPath","React","position","src","width","height","borderRadius","bottom","right","paths","map","f","Object","values","flat","document","querySelector","append","path","link","createElement","rel","as","href"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import a from"react";function t(){return(t=Object.assign||function(a){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(a[n]=e[n])}return a}).apply(this,arguments)}const e={android:"android",apple:"apple",capacitor:"capacitor",clojure:"clojure",cocoa:"apple","cocoa-objc":"apple","cocoa-swift":"swift",cordova:"cordova",cryengine:"cryengine",csharp:"csharp","csharp-aspnetcore":"csharp",dart:"dart",default:"default",dotnet:"dotnet","dotnet-awslambda":"aws","dotnet-aspnetcore":"dotnet","dotnet-aspnet":"dotnet","dotnet-csharp":"csharp","dotnet-blazor":"blazor","dotnet-uno":"uno","dotnet-xamarin":"xamarin",dotnetcore:"dotnetcore",dotnetfx:"dotnetfx",electron:"electron",elixir:"elixir",flutter:"flutter",fsharp:"fsharp",go:"go",godot:"godot",java:"java","java-appengine":"app-engine","java-android":"android","java-log4j":"java","java-log4j2":"java","java-logback":"logback","java-logging":"java","java-spring":"spring","java-spring-boot":"springboot",javascript:"javascript","javascript-angular":"angularjs","javascript-angularjs":"angularjs","javascript-backbone":"backbone","javascript-browser":"javascript","javascript-capacitor":"capacitor","javascript-cordova":"cordova","javascript-electron":"electron","javascript-ember":"ember","javascript-gatsby":"gatsby","javascript-ionic":"ionic","javascript-nextjs":"nextjs","javascript-react":"react","javascript-vue":"vue",ionic:"ionic",kotlin:"kotlin","kotlin-android":"android",native:"nativec","native-qt":"qt",node:"nodejs","node-awslambda":"aws","node-azurefunctions":"azure","node-connect":"nodejs","node-express":"express","node-gcpfunctions":"gcp","node-koa":"koa",perl:"perl",php:"php","php-laravel":"laravel","php-monolog":"php","php-symfony2":"symfony","php-symfony":"symfony",python:"python","python-aiohttp":"aiohttp","python-awslambda":"aws","python-azurefunctions":"azure","python-bottle":"bottle","python-celery":"celery","python-chalice":"chalice","python-django":"django","python-falcon":"falcon","python-flask":"flask","python-gcpfunctions":"gcp","python-pylons":"python","python-pyramid":"pyramid","python-pythonawslambda":"aws","python-rq":"redis","python-sanic":"python","python-serverless":"serverless","python-tornado":"tornado","python-tryton":"tryton",qt:"qt","react-native":"react",ruby:"ruby","ruby-rack":"ruby","ruby-rails":"rails","ruby-sinatra":"sinatra",rust:"rust","rust-actix":"actix",scala:"scala",stride3d:"stride3d",swift:"swift",unity:"unity",ue4:"unreal",unrealengine:"unreal"};function n(a){return a.replace(".","-")}function r(a){const t=n(a);return e[t]||(t.includes("-")?o(t):"default")}function o(a){const[t]=n(a).split("-");return r(t)}const s=e=>{let{platform:n,size:s=20,format:i="sm",radius:c=3,withLanguageIcon:p,languageIconStyles:l={},style:d={}}=e,u=function(a,t){if(null==a)return{};var e,n,r={},o=Object.keys(a);for(n=0;n<o.length;n++)t.indexOf(e=o[n])>=0||(r[e]=a[e]);return r}(e,["platform","size","format","radius","withLanguageIcon","languageIconStyles","style"]);const g=r(n),y=require(`../${"lg"===i?"svg_80x80":"svg"}/${g}.svg`),h=o(n),v=require(`../svg/${h}.svg`);return p&&h!==g&&"default"!==h?a.createElement("div",Object.assign({},u,{style:t({position:"relative"},d)}),a.createElement("img",{src:y,width:s,height:s,style:{borderRadius:c+"px"}}),a.createElement("img",{src:v,style:t({position:"absolute",bottom:"-1px",right:"-1px",height:"30%",width:"30%",borderRadius:"2px"},l)})):a.createElement("img",Object.assign({src:y,width:s,height:s},u,{style:t({borderRadius:c+"px"},d)}))};function i(a){var t;const n=(a?[a]:["lg","sm"]).map(a=>Object.values(e).map(t=>require(`../${"lg"===a?"svg_80x80":"svg"}/${t}.svg`))).flat();null==(t=document.querySelector("head"))||t.append(...n.map(a=>{const t=document.createElement("link");return t.rel="preload",t.as="image",t.href=a,t}))}export{s as PlatformIcon,i as preloadIcons};
1
+ import a from"react";function t(){return(t=Object.assign||function(a){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(a[n]=e[n])}return a}).apply(this,arguments)}const e={android:"android",apple:"apple",capacitor:"capacitor",clojure:"clojure",cocoa:"apple","cocoa-objc":"apple","cocoa-swift":"swift",cordova:"cordova",cryengine:"cryengine",csharp:"csharp","csharp-aspnetcore":"csharp",dart:"dart",default:"default",dotnet:"dotnet","dotnet-awslambda":"aws","dotnet-gcpfunctions":"gcp","dotnet-aspnetcore":"dotnet","dotnet-aspnet":"dotnet","dotnet-csharp":"csharp","dotnet-blazor":"blazor","dotnet-uno":"uno","dotnet-xamarin":"xamarin",dotnetcore:"dotnetcore",dotnetfx:"dotnetfx",electron:"electron",elixir:"elixir",flutter:"flutter",fsharp:"fsharp",go:"go",godot:"godot",java:"java","java-appengine":"app-engine","java-android":"android","java-log4j":"java","java-log4j2":"java","java-logback":"logback","java-logging":"java","java-spring":"spring","java-spring-boot":"springboot",javascript:"javascript","javascript-angular":"angularjs","javascript-angularjs":"angularjs","javascript-backbone":"backbone","javascript-browser":"javascript","javascript-capacitor":"capacitor","javascript-cordova":"cordova","javascript-electron":"electron","javascript-ember":"ember","javascript-gatsby":"gatsby","javascript-ionic":"ionic","javascript-nextjs":"nextjs","javascript-react":"react","javascript-vue":"vue",ionic:"ionic",kotlin:"kotlin","kotlin-android":"android",native:"nativec","native-qt":"qt",node:"nodejs","node-awslambda":"aws","node-azurefunctions":"azure","node-connect":"nodejs","node-express":"express","node-gcpfunctions":"gcp","node-koa":"koa",perl:"perl",php:"php","php-laravel":"laravel","php-monolog":"php","php-symfony2":"symfony","php-symfony":"symfony",python:"python","python-aiohttp":"aiohttp","python-awslambda":"aws","python-azurefunctions":"azure","python-bottle":"bottle","python-celery":"celery","python-chalice":"chalice","python-django":"django","python-falcon":"falcon","python-flask":"flask","python-gcpfunctions":"gcp","python-pylons":"python","python-pyramid":"pyramid","python-pythonawslambda":"aws","python-rq":"redis","python-sanic":"python","python-serverless":"serverless","python-tornado":"tornado","python-tryton":"tryton",qt:"qt","react-native":"react",ruby:"ruby","ruby-rack":"ruby","ruby-rails":"rails","ruby-sinatra":"sinatra",rust:"rust","rust-actix":"actix",scala:"scala",stride3d:"stride3d",swift:"swift",unity:"unity",ue4:"unreal",unreal:"unreal",unrealengine:"unreal"};function n(a){return a.replace(".","-")}function r(a){const t=n(a);return e[t]||(t.includes("-")?o(t):"default")}function o(a){const[t]=n(a).split("-");return r(t)}const s=e=>{let{platform:n,size:s=20,format:c="sm",radius:i=3,withLanguageIcon:p,languageIconStyles:l={},style:d={}}=e,u=function(a,t){if(null==a)return{};var e,n,r={},o=Object.keys(a);for(n=0;n<o.length;n++)t.indexOf(e=o[n])>=0||(r[e]=a[e]);return r}(e,["platform","size","format","radius","withLanguageIcon","languageIconStyles","style"]);const g=r(n),y=require(`../${"lg"===c?"svg_80x80":"svg"}/${g}.svg`),h=o(n),v=require(`../svg/${h}.svg`);return p&&h!==g&&"default"!==h?a.createElement("div",Object.assign({},u,{style:t({position:"relative"},d)}),a.createElement("img",{src:y,width:s,height:s,style:{borderRadius:i+"px"}}),a.createElement("img",{src:v,style:t({position:"absolute",bottom:"-1px",right:"-1px",height:"30%",width:"30%",borderRadius:"2px"},l)})):a.createElement("img",Object.assign({src:y,width:s,height:s},u,{style:t({borderRadius:i+"px"},d)}))};function c(a){var t;const n=(a?[a]:["lg","sm"]).map(a=>Object.values(e).map(t=>require(`../${"lg"===a?"svg_80x80":"svg"}/${t}.svg`))).flat();null==(t=document.querySelector("head"))||t.append(...n.map(a=>{const t=document.createElement("link");return t.rel="preload",t.as="image",t.href=a,t}))}export{s as PlatformIcon,c as preloadIcons};
2
2
  //# sourceMappingURL=index.modern.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/platformIcon.tsx","../src/preload.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const PLATFORM_TO_ICON = {\n android: \"android\",\n apple: \"apple\",\n capacitor: \"capacitor\",\n clojure: \"clojure\",\n cocoa: \"apple\",\n \"cocoa-objc\": \"apple\",\n \"cocoa-swift\": \"swift\",\n cordova: \"cordova\",\n cryengine: \"cryengine\",\n csharp: \"csharp\",\n \"csharp-aspnetcore\": \"csharp\",\n dart: \"dart\",\n default: \"default\",\n dotnet: \"dotnet\",\n \"dotnet-awslambda\": \"aws\",\n \"dotnet-aspnetcore\": \"dotnet\",\n \"dotnet-aspnet\": \"dotnet\",\n \"dotnet-csharp\": \"csharp\",\n \"dotnet-blazor\": \"blazor\",\n \"dotnet-uno\": \"uno\",\n \"dotnet-xamarin\": \"xamarin\",\n dotnetcore: \"dotnetcore\",\n dotnetfx: \"dotnetfx\",\n electron: \"electron\",\n elixir: \"elixir\",\n flutter: \"flutter\",\n fsharp: \"fsharp\",\n go: \"go\",\n godot: \"godot\",\n java: \"java\",\n \"java-appengine\": \"app-engine\",\n \"java-android\": \"android\",\n \"java-log4j\": \"java\",\n \"java-log4j2\": \"java\",\n \"java-logback\": \"logback\",\n \"java-logging\": \"java\",\n \"java-spring\": \"spring\",\n \"java-spring-boot\": \"springboot\",\n javascript: \"javascript\",\n \"javascript-angular\": \"angularjs\",\n \"javascript-angularjs\": \"angularjs\",\n \"javascript-backbone\": \"backbone\",\n \"javascript-browser\": \"javascript\",\n \"javascript-capacitor\": \"capacitor\",\n \"javascript-cordova\": \"cordova\",\n \"javascript-electron\": \"electron\",\n \"javascript-ember\": \"ember\",\n \"javascript-gatsby\": \"gatsby\",\n \"javascript-ionic\": \"ionic\",\n \"javascript-nextjs\": \"nextjs\",\n \"javascript-react\": \"react\",\n \"javascript-vue\": \"vue\",\n ionic: \"ionic\",\n kotlin: \"kotlin\",\n \"kotlin-android\": \"android\",\n native: \"nativec\",\n \"native-qt\": \"qt\",\n node: \"nodejs\",\n \"node-awslambda\": \"aws\",\n \"node-azurefunctions\": \"azure\",\n \"node-connect\": \"nodejs\",\n \"node-express\": \"express\",\n \"node-gcpfunctions\": \"gcp\",\n \"node-koa\": \"koa\",\n perl: \"perl\",\n php: \"php\",\n \"php-laravel\": \"laravel\",\n \"php-monolog\": \"php\",\n \"php-symfony2\": \"symfony\",\n \"php-symfony\": \"symfony\",\n python: \"python\",\n \"python-aiohttp\": \"aiohttp\",\n \"python-awslambda\": \"aws\",\n \"python-azurefunctions\": \"azure\",\n \"python-bottle\": \"bottle\",\n \"python-celery\": \"celery\",\n \"python-chalice\": \"chalice\",\n \"python-django\": \"django\",\n \"python-falcon\": \"falcon\",\n \"python-flask\": \"flask\",\n \"python-gcpfunctions\": \"gcp\",\n \"python-pylons\": \"python\",\n \"python-pyramid\": \"pyramid\",\n \"python-pythonawslambda\": \"aws\",\n \"python-rq\": \"redis\",\n \"python-sanic\": \"python\",\n \"python-serverless\": \"serverless\",\n \"python-tornado\": \"tornado\",\n \"python-tryton\": \"tryton\",\n qt: \"qt\",\n \"react-native\": \"react\",\n ruby: \"ruby\",\n \"ruby-rack\": \"ruby\",\n \"ruby-rails\": \"rails\",\n \"ruby-sinatra\": \"sinatra\",\n rust: \"rust\",\n \"rust-actix\": \"actix\",\n scala: \"scala\",\n stride3d: \"stride3d\",\n swift: \"swift\",\n unity: \"unity\",\n // This will be deprecated in favor of 'unrealengine'\n ue4: \"unreal\",\n unrealengine: \"unreal\",\n // Don't add new platforms down here!\n // Please add them where they belong alphabetically\n} as const;\n\nfunction normalizePlatform(platform: string): string {\n // sentry uses format python-django, but docs uses python.django\n // this function normalizes that\n return platform.replace(\".\", \"-\");\n}\n\nfunction getIcon(platform: string): Platform {\n const normalizedPlatform = normalizePlatform(platform);\n const icon = PLATFORM_TO_ICON[normalizedPlatform];\n\n if (icon) {\n return icon;\n }\n\n if (normalizedPlatform.includes(\"-\")) {\n return getLanguageIcon(normalizedPlatform);\n }\n\n return \"default\";\n}\n\nfunction getLanguageIcon(platform: string): Platform {\n const [language] = normalizePlatform(platform).split(\"-\");\n\n return getIcon(language);\n}\n\ntype Platform = typeof PLATFORM_TO_ICON[keyof typeof PLATFORM_TO_ICON];\n\ntype Props = React.HTMLAttributes<HTMLDivElement | HTMLImageElement> & {\n platform: string;\n size?: string | number;\n format?: \"sm\" | \"lg\";\n radius?: number | null;\n withLanguageIcon?: boolean;\n languageIconStyles?: React.CSSProperties;\n};\n\nconst PlatformIcon = ({\n platform,\n size = 20,\n format = \"sm\",\n radius = 3,\n withLanguageIcon,\n languageIconStyles = {},\n style = {},\n ...otherProps\n}: Props) => {\n const icon = getIcon(platform);\n const iconPath = require(`../${\n format === \"lg\" ? \"svg_80x80\" : \"svg\"\n }/${icon}.svg`);\n\n const languageIcon = getLanguageIcon(platform);\n const languageIconPath = require(`../svg/${languageIcon}.svg`);\n\n if (withLanguageIcon && languageIcon !== icon && languageIcon !== \"default\") {\n return (\n <div {...otherProps} style={{ position: \"relative\", ...style }}>\n <img\n src={iconPath}\n width={size}\n height={size}\n style={{ borderRadius: `${radius}px` }}\n />\n <img\n src={languageIconPath}\n style={{\n position: \"absolute\",\n bottom: \"-1px\",\n right: \"-1px\",\n height: \"30%\",\n width: \"30%\",\n borderRadius: \"2px\",\n ...languageIconStyles,\n }}\n />\n </div>\n );\n }\n\n return (\n <img\n src={iconPath}\n width={size}\n height={size}\n {...otherProps}\n style={{ borderRadius: `${radius}px`, ...style }}\n />\n );\n};\n\nexport default PlatformIcon;\n","import { PLATFORM_TO_ICON } from \"./platformIcon\";\n\n/**\n * Insert <link ref=\"preload\" /> elements into the <head> node to preload\n * platfrom icons. Useful to avoid render blocking / jank when we know we'll be\n * showing platform icons on the next page.\n */\nexport function preloadIcons(format?: \"sm\" | \"lg\") {\n const formats = format ? [format] : [\"lg\", \"sm\"];\n\n const paths: string[] = formats\n .map((f) =>\n Object.values(PLATFORM_TO_ICON).map((icon) =>\n require(`../${f === \"lg\" ? \"svg_80x80\" : \"svg\"}/${icon}.svg`)\n )\n )\n .flat();\n\n document.querySelector(\"head\")?.append(\n ...paths.map((path) => {\n const link = document.createElement(\"link\");\n link.rel = \"preload\";\n link.as = \"image\";\n link.href = path;\n return link;\n })\n );\n}\n"],"names":["PLATFORM_TO_ICON","android","apple","capacitor","clojure","cocoa","cocoa-objc","cocoa-swift","cordova","cryengine","csharp","csharp-aspnetcore","dart","default","dotnet","dotnet-awslambda","dotnet-aspnetcore","dotnet-aspnet","dotnet-csharp","dotnet-blazor","dotnet-uno","dotnet-xamarin","dotnetcore","dotnetfx","electron","elixir","flutter","fsharp","go","godot","java","java-appengine","java-android","java-log4j","java-log4j2","java-logback","java-logging","java-spring","java-spring-boot","javascript","javascript-angular","javascript-angularjs","javascript-backbone","javascript-browser","javascript-capacitor","javascript-cordova","javascript-electron","javascript-ember","javascript-gatsby","javascript-ionic","javascript-nextjs","javascript-react","javascript-vue","ionic","kotlin","kotlin-android","native","native-qt","node","node-awslambda","node-azurefunctions","node-connect","node-express","node-gcpfunctions","node-koa","perl","php","php-laravel","php-monolog","php-symfony2","php-symfony","python","python-aiohttp","python-awslambda","python-azurefunctions","python-bottle","python-celery","python-chalice","python-django","python-falcon","python-flask","python-gcpfunctions","python-pylons","python-pyramid","python-pythonawslambda","python-rq","python-sanic","python-serverless","python-tornado","python-tryton","qt","react-native","ruby","ruby-rack","ruby-rails","ruby-sinatra","rust","rust-actix","scala","stride3d","swift","unity","ue4","unrealengine","normalizePlatform","platform","replace","getIcon","normalizedPlatform","includes","getLanguageIcon","language","split","PlatformIcon","size","format","radius","withLanguageIcon","languageIconStyles","style","otherProps","icon","iconPath","require","languageIcon","languageIconPath","React","position","src","width","height","borderRadius","bottom","right","preloadIcons","paths","map","f","Object","values","flat","document","querySelector","append","path","link","createElement","rel","as","href"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.js","sources":["../src/platformIcon.tsx","../src/preload.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const PLATFORM_TO_ICON = {\n android: \"android\",\n apple: \"apple\",\n capacitor: \"capacitor\",\n clojure: \"clojure\",\n cocoa: \"apple\",\n \"cocoa-objc\": \"apple\",\n \"cocoa-swift\": \"swift\",\n cordova: \"cordova\",\n cryengine: \"cryengine\",\n csharp: \"csharp\",\n \"csharp-aspnetcore\": \"csharp\",\n dart: \"dart\",\n default: \"default\",\n dotnet: \"dotnet\",\n \"dotnet-awslambda\": \"aws\",\n \"dotnet-gcpfunctions\": \"gcp\",\n \"dotnet-aspnetcore\": \"dotnet\",\n \"dotnet-aspnet\": \"dotnet\",\n \"dotnet-csharp\": \"csharp\",\n \"dotnet-blazor\": \"blazor\",\n \"dotnet-uno\": \"uno\",\n \"dotnet-xamarin\": \"xamarin\",\n dotnetcore: \"dotnetcore\",\n dotnetfx: \"dotnetfx\",\n electron: \"electron\",\n elixir: \"elixir\",\n flutter: \"flutter\",\n fsharp: \"fsharp\",\n go: \"go\",\n godot: \"godot\",\n java: \"java\",\n \"java-appengine\": \"app-engine\",\n \"java-android\": \"android\",\n \"java-log4j\": \"java\",\n \"java-log4j2\": \"java\",\n \"java-logback\": \"logback\",\n \"java-logging\": \"java\",\n \"java-spring\": \"spring\",\n \"java-spring-boot\": \"springboot\",\n javascript: \"javascript\",\n \"javascript-angular\": \"angularjs\",\n \"javascript-angularjs\": \"angularjs\",\n \"javascript-backbone\": \"backbone\",\n \"javascript-browser\": \"javascript\",\n \"javascript-capacitor\": \"capacitor\",\n \"javascript-cordova\": \"cordova\",\n \"javascript-electron\": \"electron\",\n \"javascript-ember\": \"ember\",\n \"javascript-gatsby\": \"gatsby\",\n \"javascript-ionic\": \"ionic\",\n \"javascript-nextjs\": \"nextjs\",\n \"javascript-react\": \"react\",\n \"javascript-vue\": \"vue\",\n ionic: \"ionic\",\n kotlin: \"kotlin\",\n \"kotlin-android\": \"android\",\n native: \"nativec\",\n \"native-qt\": \"qt\",\n node: \"nodejs\",\n \"node-awslambda\": \"aws\",\n \"node-azurefunctions\": \"azure\",\n \"node-connect\": \"nodejs\",\n \"node-express\": \"express\",\n \"node-gcpfunctions\": \"gcp\",\n \"node-koa\": \"koa\",\n perl: \"perl\",\n php: \"php\",\n \"php-laravel\": \"laravel\",\n \"php-monolog\": \"php\",\n \"php-symfony2\": \"symfony\",\n \"php-symfony\": \"symfony\",\n python: \"python\",\n \"python-aiohttp\": \"aiohttp\",\n \"python-awslambda\": \"aws\",\n \"python-azurefunctions\": \"azure\",\n \"python-bottle\": \"bottle\",\n \"python-celery\": \"celery\",\n \"python-chalice\": \"chalice\",\n \"python-django\": \"django\",\n \"python-falcon\": \"falcon\",\n \"python-flask\": \"flask\",\n \"python-gcpfunctions\": \"gcp\",\n \"python-pylons\": \"python\",\n \"python-pyramid\": \"pyramid\",\n \"python-pythonawslambda\": \"aws\",\n \"python-rq\": \"redis\",\n \"python-sanic\": \"python\",\n \"python-serverless\": \"serverless\",\n \"python-tornado\": \"tornado\",\n \"python-tryton\": \"tryton\",\n qt: \"qt\",\n \"react-native\": \"react\",\n ruby: \"ruby\",\n \"ruby-rack\": \"ruby\",\n \"ruby-rails\": \"rails\",\n \"ruby-sinatra\": \"sinatra\",\n rust: \"rust\",\n \"rust-actix\": \"actix\",\n scala: \"scala\",\n stride3d: \"stride3d\",\n swift: \"swift\",\n unity: \"unity\",\n // This will be deprecated in favor of 'unrealengine'\n ue4: \"unreal\",\n unreal: \"unreal\",\n unrealengine: \"unreal\",\n // Don't add new platforms down here!\n // Please add them where they belong alphabetically\n} as const;\n\nfunction normalizePlatform(platform: string): string {\n // sentry uses format python-django, but docs uses python.django\n // this function normalizes that\n return platform.replace(\".\", \"-\");\n}\n\nfunction getIcon(platform: string): Platform {\n const normalizedPlatform = normalizePlatform(platform);\n const icon = PLATFORM_TO_ICON[normalizedPlatform];\n\n if (icon) {\n return icon;\n }\n\n if (normalizedPlatform.includes(\"-\")) {\n return getLanguageIcon(normalizedPlatform);\n }\n\n return \"default\";\n}\n\nfunction getLanguageIcon(platform: string): Platform {\n const [language] = normalizePlatform(platform).split(\"-\");\n\n return getIcon(language);\n}\n\ntype Platform = typeof PLATFORM_TO_ICON[keyof typeof PLATFORM_TO_ICON];\n\ntype Props = React.HTMLAttributes<HTMLDivElement | HTMLImageElement> & {\n platform: string;\n size?: string | number;\n format?: \"sm\" | \"lg\";\n radius?: number | null;\n withLanguageIcon?: boolean;\n languageIconStyles?: React.CSSProperties;\n};\n\nconst PlatformIcon = ({\n platform,\n size = 20,\n format = \"sm\",\n radius = 3,\n withLanguageIcon,\n languageIconStyles = {},\n style = {},\n ...otherProps\n}: Props) => {\n const icon = getIcon(platform);\n const iconPath = require(`../${\n format === \"lg\" ? \"svg_80x80\" : \"svg\"\n }/${icon}.svg`);\n\n const languageIcon = getLanguageIcon(platform);\n const languageIconPath = require(`../svg/${languageIcon}.svg`);\n\n if (withLanguageIcon && languageIcon !== icon && languageIcon !== \"default\") {\n return (\n <div {...otherProps} style={{ position: \"relative\", ...style }}>\n <img\n src={iconPath}\n width={size}\n height={size}\n style={{ borderRadius: `${radius}px` }}\n />\n <img\n src={languageIconPath}\n style={{\n position: \"absolute\",\n bottom: \"-1px\",\n right: \"-1px\",\n height: \"30%\",\n width: \"30%\",\n borderRadius: \"2px\",\n ...languageIconStyles,\n }}\n />\n </div>\n );\n }\n\n return (\n <img\n src={iconPath}\n width={size}\n height={size}\n {...otherProps}\n style={{ borderRadius: `${radius}px`, ...style }}\n />\n );\n};\n\nexport default PlatformIcon;\n","import { PLATFORM_TO_ICON } from \"./platformIcon\";\n\n/**\n * Insert <link ref=\"preload\" /> elements into the <head> node to preload\n * platfrom icons. Useful to avoid render blocking / jank when we know we'll be\n * showing platform icons on the next page.\n */\nexport function preloadIcons(format?: \"sm\" | \"lg\") {\n const formats = format ? [format] : [\"lg\", \"sm\"];\n\n const paths: string[] = formats\n .map((f) =>\n Object.values(PLATFORM_TO_ICON).map((icon) =>\n require(`../${f === \"lg\" ? \"svg_80x80\" : \"svg\"}/${icon}.svg`)\n )\n )\n .flat();\n\n document.querySelector(\"head\")?.append(\n ...paths.map((path) => {\n const link = document.createElement(\"link\");\n link.rel = \"preload\";\n link.as = \"image\";\n link.href = path;\n return link;\n })\n );\n}\n"],"names":["PLATFORM_TO_ICON","android","apple","capacitor","clojure","cocoa","cocoa-objc","cocoa-swift","cordova","cryengine","csharp","csharp-aspnetcore","dart","default","dotnet","dotnet-awslambda","dotnet-gcpfunctions","dotnet-aspnetcore","dotnet-aspnet","dotnet-csharp","dotnet-blazor","dotnet-uno","dotnet-xamarin","dotnetcore","dotnetfx","electron","elixir","flutter","fsharp","go","godot","java","java-appengine","java-android","java-log4j","java-log4j2","java-logback","java-logging","java-spring","java-spring-boot","javascript","javascript-angular","javascript-angularjs","javascript-backbone","javascript-browser","javascript-capacitor","javascript-cordova","javascript-electron","javascript-ember","javascript-gatsby","javascript-ionic","javascript-nextjs","javascript-react","javascript-vue","ionic","kotlin","kotlin-android","native","native-qt","node","node-awslambda","node-azurefunctions","node-connect","node-express","node-gcpfunctions","node-koa","perl","php","php-laravel","php-monolog","php-symfony2","php-symfony","python","python-aiohttp","python-awslambda","python-azurefunctions","python-bottle","python-celery","python-chalice","python-django","python-falcon","python-flask","python-gcpfunctions","python-pylons","python-pyramid","python-pythonawslambda","python-rq","python-sanic","python-serverless","python-tornado","python-tryton","qt","react-native","ruby","ruby-rack","ruby-rails","ruby-sinatra","rust","rust-actix","scala","stride3d","swift","unity","ue4","unreal","unrealengine","normalizePlatform","platform","replace","getIcon","normalizedPlatform","includes","getLanguageIcon","language","split","PlatformIcon","size","format","radius","withLanguageIcon","languageIconStyles","style","otherProps","icon","iconPath","require","languageIcon","languageIconPath","React","position","src","width","height","borderRadius","bottom","right","preloadIcons","paths","map","f","Object","values","flat","document","querySelector","append","path","link","createElement","rel","as","href"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(a,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((a=a||self).platformicons={},a.react)}(this,function(a,t){function e(){return(e=Object.assign||function(a){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(a[n]=e[n])}return a}).apply(this,arguments)}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var n={android:"android",apple:"apple",capacitor:"capacitor",clojure:"clojure",cocoa:"apple","cocoa-objc":"apple","cocoa-swift":"swift",cordova:"cordova",cryengine:"cryengine",csharp:"csharp","csharp-aspnetcore":"csharp",dart:"dart",default:"default",dotnet:"dotnet","dotnet-awslambda":"aws","dotnet-aspnetcore":"dotnet","dotnet-aspnet":"dotnet","dotnet-csharp":"csharp","dotnet-blazor":"blazor","dotnet-uno":"uno","dotnet-xamarin":"xamarin",dotnetcore:"dotnetcore",dotnetfx:"dotnetfx",electron:"electron",elixir:"elixir",flutter:"flutter",fsharp:"fsharp",go:"go",godot:"godot",java:"java","java-appengine":"app-engine","java-android":"android","java-log4j":"java","java-log4j2":"java","java-logback":"logback","java-logging":"java","java-spring":"spring","java-spring-boot":"springboot",javascript:"javascript","javascript-angular":"angularjs","javascript-angularjs":"angularjs","javascript-backbone":"backbone","javascript-browser":"javascript","javascript-capacitor":"capacitor","javascript-cordova":"cordova","javascript-electron":"electron","javascript-ember":"ember","javascript-gatsby":"gatsby","javascript-ionic":"ionic","javascript-nextjs":"nextjs","javascript-react":"react","javascript-vue":"vue",ionic:"ionic",kotlin:"kotlin","kotlin-android":"android",native:"nativec","native-qt":"qt",node:"nodejs","node-awslambda":"aws","node-azurefunctions":"azure","node-connect":"nodejs","node-express":"express","node-gcpfunctions":"gcp","node-koa":"koa",perl:"perl",php:"php","php-laravel":"laravel","php-monolog":"php","php-symfony2":"symfony","php-symfony":"symfony",python:"python","python-aiohttp":"aiohttp","python-awslambda":"aws","python-azurefunctions":"azure","python-bottle":"bottle","python-celery":"celery","python-chalice":"chalice","python-django":"django","python-falcon":"falcon","python-flask":"flask","python-gcpfunctions":"gcp","python-pylons":"python","python-pyramid":"pyramid","python-pythonawslambda":"aws","python-rq":"redis","python-sanic":"python","python-serverless":"serverless","python-tornado":"tornado","python-tryton":"tryton",qt:"qt","react-native":"react",ruby:"ruby","ruby-rack":"ruby","ruby-rails":"rails","ruby-sinatra":"sinatra",rust:"rust","rust-actix":"actix",scala:"scala",stride3d:"stride3d",swift:"swift",unity:"unity",ue4:"unreal",unrealengine:"unreal"};function o(a){return a.replace(".","-")}function r(a){var t=o(a);return n[t]||(t.includes("-")?i(t):"default")}function i(a){return r(o(a).split("-")[0])}a.PlatformIcon=function(a){var n=a.platform,o=a.size,s=void 0===o?20:o,c=a.format,p=void 0===c?"sm":c,l=a.radius,d=void 0===l?3:l,u=a.withLanguageIcon,y=a.languageIconStyles,v=void 0===y?{}:y,g=a.style,f=void 0===g?{}:g,h=function(a,t){if(null==a)return{};var e,n,o={},r=Object.keys(a);for(n=0;n<r.length;n++)t.indexOf(e=r[n])>=0||(o[e]=a[e]);return o}(a,["platform","size","format","radius","withLanguageIcon","languageIconStyles","style"]),j=r(n),b=require("../"+("lg"===p?"svg_80x80":"svg")+"/"+j+".svg"),m=i(n),x=require("../svg/"+m+".svg");return u&&m!==j&&"default"!==m?t.createElement("div",Object.assign({},h,{style:e({position:"relative"},f)}),t.createElement("img",{src:b,width:s,height:s,style:{borderRadius:d+"px"}}),t.createElement("img",{src:x,style:e({position:"absolute",bottom:"-1px",right:"-1px",height:"30%",width:"30%",borderRadius:"2px"},v)})):t.createElement("img",Object.assign({src:b,width:s,height:s},h,{style:e({borderRadius:d+"px"},f)}))},a.preloadIcons=function(a){var t,e=(a?[a]:["lg","sm"]).map(function(a){return Object.values(n).map(function(t){return require("../"+("lg"===a?"svg_80x80":"svg")+"/"+t+".svg")})}).flat();null==(t=document.querySelector("head"))||t.append.apply(t,e.map(function(a){var t=document.createElement("link");return t.rel="preload",t.as="image",t.href=a,t}))}});
1
+ !function(a,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((a=a||self).platformicons={},a.react)}(this,function(a,t){function e(){return(e=Object.assign||function(a){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(a[n]=e[n])}return a}).apply(this,arguments)}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var n={android:"android",apple:"apple",capacitor:"capacitor",clojure:"clojure",cocoa:"apple","cocoa-objc":"apple","cocoa-swift":"swift",cordova:"cordova",cryengine:"cryengine",csharp:"csharp","csharp-aspnetcore":"csharp",dart:"dart",default:"default",dotnet:"dotnet","dotnet-awslambda":"aws","dotnet-gcpfunctions":"gcp","dotnet-aspnetcore":"dotnet","dotnet-aspnet":"dotnet","dotnet-csharp":"csharp","dotnet-blazor":"blazor","dotnet-uno":"uno","dotnet-xamarin":"xamarin",dotnetcore:"dotnetcore",dotnetfx:"dotnetfx",electron:"electron",elixir:"elixir",flutter:"flutter",fsharp:"fsharp",go:"go",godot:"godot",java:"java","java-appengine":"app-engine","java-android":"android","java-log4j":"java","java-log4j2":"java","java-logback":"logback","java-logging":"java","java-spring":"spring","java-spring-boot":"springboot",javascript:"javascript","javascript-angular":"angularjs","javascript-angularjs":"angularjs","javascript-backbone":"backbone","javascript-browser":"javascript","javascript-capacitor":"capacitor","javascript-cordova":"cordova","javascript-electron":"electron","javascript-ember":"ember","javascript-gatsby":"gatsby","javascript-ionic":"ionic","javascript-nextjs":"nextjs","javascript-react":"react","javascript-vue":"vue",ionic:"ionic",kotlin:"kotlin","kotlin-android":"android",native:"nativec","native-qt":"qt",node:"nodejs","node-awslambda":"aws","node-azurefunctions":"azure","node-connect":"nodejs","node-express":"express","node-gcpfunctions":"gcp","node-koa":"koa",perl:"perl",php:"php","php-laravel":"laravel","php-monolog":"php","php-symfony2":"symfony","php-symfony":"symfony",python:"python","python-aiohttp":"aiohttp","python-awslambda":"aws","python-azurefunctions":"azure","python-bottle":"bottle","python-celery":"celery","python-chalice":"chalice","python-django":"django","python-falcon":"falcon","python-flask":"flask","python-gcpfunctions":"gcp","python-pylons":"python","python-pyramid":"pyramid","python-pythonawslambda":"aws","python-rq":"redis","python-sanic":"python","python-serverless":"serverless","python-tornado":"tornado","python-tryton":"tryton",qt:"qt","react-native":"react",ruby:"ruby","ruby-rack":"ruby","ruby-rails":"rails","ruby-sinatra":"sinatra",rust:"rust","rust-actix":"actix",scala:"scala",stride3d:"stride3d",swift:"swift",unity:"unity",ue4:"unreal",unreal:"unreal",unrealengine:"unreal"};function o(a){return a.replace(".","-")}function r(a){var t=o(a);return n[t]||(t.includes("-")?i(t):"default")}function i(a){return r(o(a).split("-")[0])}a.PlatformIcon=function(a){var n=a.platform,o=a.size,c=void 0===o?20:o,s=a.format,p=void 0===s?"sm":s,l=a.radius,d=void 0===l?3:l,u=a.withLanguageIcon,y=a.languageIconStyles,v=void 0===y?{}:y,g=a.style,f=void 0===g?{}:g,h=function(a,t){if(null==a)return{};var e,n,o={},r=Object.keys(a);for(n=0;n<r.length;n++)t.indexOf(e=r[n])>=0||(o[e]=a[e]);return o}(a,["platform","size","format","radius","withLanguageIcon","languageIconStyles","style"]),j=r(n),b=require("../"+("lg"===p?"svg_80x80":"svg")+"/"+j+".svg"),m=i(n),x=require("../svg/"+m+".svg");return u&&m!==j&&"default"!==m?t.createElement("div",Object.assign({},h,{style:e({position:"relative"},f)}),t.createElement("img",{src:b,width:c,height:c,style:{borderRadius:d+"px"}}),t.createElement("img",{src:x,style:e({position:"absolute",bottom:"-1px",right:"-1px",height:"30%",width:"30%",borderRadius:"2px"},v)})):t.createElement("img",Object.assign({src:b,width:c,height:c},h,{style:e({borderRadius:d+"px"},f)}))},a.preloadIcons=function(a){var t,e=(a?[a]:["lg","sm"]).map(function(a){return Object.values(n).map(function(t){return require("../"+("lg"===a?"svg_80x80":"svg")+"/"+t+".svg")})}).flat();null==(t=document.querySelector("head"))||t.append.apply(t,e.map(function(a){var t=document.createElement("link");return t.rel="preload",t.as="image",t.href=a,t}))}});
2
2
  //# sourceMappingURL=index.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/platformIcon.tsx","../src/preload.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const PLATFORM_TO_ICON = {\n android: \"android\",\n apple: \"apple\",\n capacitor: \"capacitor\",\n clojure: \"clojure\",\n cocoa: \"apple\",\n \"cocoa-objc\": \"apple\",\n \"cocoa-swift\": \"swift\",\n cordova: \"cordova\",\n cryengine: \"cryengine\",\n csharp: \"csharp\",\n \"csharp-aspnetcore\": \"csharp\",\n dart: \"dart\",\n default: \"default\",\n dotnet: \"dotnet\",\n \"dotnet-awslambda\": \"aws\",\n \"dotnet-aspnetcore\": \"dotnet\",\n \"dotnet-aspnet\": \"dotnet\",\n \"dotnet-csharp\": \"csharp\",\n \"dotnet-blazor\": \"blazor\",\n \"dotnet-uno\": \"uno\",\n \"dotnet-xamarin\": \"xamarin\",\n dotnetcore: \"dotnetcore\",\n dotnetfx: \"dotnetfx\",\n electron: \"electron\",\n elixir: \"elixir\",\n flutter: \"flutter\",\n fsharp: \"fsharp\",\n go: \"go\",\n godot: \"godot\",\n java: \"java\",\n \"java-appengine\": \"app-engine\",\n \"java-android\": \"android\",\n \"java-log4j\": \"java\",\n \"java-log4j2\": \"java\",\n \"java-logback\": \"logback\",\n \"java-logging\": \"java\",\n \"java-spring\": \"spring\",\n \"java-spring-boot\": \"springboot\",\n javascript: \"javascript\",\n \"javascript-angular\": \"angularjs\",\n \"javascript-angularjs\": \"angularjs\",\n \"javascript-backbone\": \"backbone\",\n \"javascript-browser\": \"javascript\",\n \"javascript-capacitor\": \"capacitor\",\n \"javascript-cordova\": \"cordova\",\n \"javascript-electron\": \"electron\",\n \"javascript-ember\": \"ember\",\n \"javascript-gatsby\": \"gatsby\",\n \"javascript-ionic\": \"ionic\",\n \"javascript-nextjs\": \"nextjs\",\n \"javascript-react\": \"react\",\n \"javascript-vue\": \"vue\",\n ionic: \"ionic\",\n kotlin: \"kotlin\",\n \"kotlin-android\": \"android\",\n native: \"nativec\",\n \"native-qt\": \"qt\",\n node: \"nodejs\",\n \"node-awslambda\": \"aws\",\n \"node-azurefunctions\": \"azure\",\n \"node-connect\": \"nodejs\",\n \"node-express\": \"express\",\n \"node-gcpfunctions\": \"gcp\",\n \"node-koa\": \"koa\",\n perl: \"perl\",\n php: \"php\",\n \"php-laravel\": \"laravel\",\n \"php-monolog\": \"php\",\n \"php-symfony2\": \"symfony\",\n \"php-symfony\": \"symfony\",\n python: \"python\",\n \"python-aiohttp\": \"aiohttp\",\n \"python-awslambda\": \"aws\",\n \"python-azurefunctions\": \"azure\",\n \"python-bottle\": \"bottle\",\n \"python-celery\": \"celery\",\n \"python-chalice\": \"chalice\",\n \"python-django\": \"django\",\n \"python-falcon\": \"falcon\",\n \"python-flask\": \"flask\",\n \"python-gcpfunctions\": \"gcp\",\n \"python-pylons\": \"python\",\n \"python-pyramid\": \"pyramid\",\n \"python-pythonawslambda\": \"aws\",\n \"python-rq\": \"redis\",\n \"python-sanic\": \"python\",\n \"python-serverless\": \"serverless\",\n \"python-tornado\": \"tornado\",\n \"python-tryton\": \"tryton\",\n qt: \"qt\",\n \"react-native\": \"react\",\n ruby: \"ruby\",\n \"ruby-rack\": \"ruby\",\n \"ruby-rails\": \"rails\",\n \"ruby-sinatra\": \"sinatra\",\n rust: \"rust\",\n \"rust-actix\": \"actix\",\n scala: \"scala\",\n stride3d: \"stride3d\",\n swift: \"swift\",\n unity: \"unity\",\n // This will be deprecated in favor of 'unrealengine'\n ue4: \"unreal\",\n unrealengine: \"unreal\",\n // Don't add new platforms down here!\n // Please add them where they belong alphabetically\n} as const;\n\nfunction normalizePlatform(platform: string): string {\n // sentry uses format python-django, but docs uses python.django\n // this function normalizes that\n return platform.replace(\".\", \"-\");\n}\n\nfunction getIcon(platform: string): Platform {\n const normalizedPlatform = normalizePlatform(platform);\n const icon = PLATFORM_TO_ICON[normalizedPlatform];\n\n if (icon) {\n return icon;\n }\n\n if (normalizedPlatform.includes(\"-\")) {\n return getLanguageIcon(normalizedPlatform);\n }\n\n return \"default\";\n}\n\nfunction getLanguageIcon(platform: string): Platform {\n const [language] = normalizePlatform(platform).split(\"-\");\n\n return getIcon(language);\n}\n\ntype Platform = typeof PLATFORM_TO_ICON[keyof typeof PLATFORM_TO_ICON];\n\ntype Props = React.HTMLAttributes<HTMLDivElement | HTMLImageElement> & {\n platform: string;\n size?: string | number;\n format?: \"sm\" | \"lg\";\n radius?: number | null;\n withLanguageIcon?: boolean;\n languageIconStyles?: React.CSSProperties;\n};\n\nconst PlatformIcon = ({\n platform,\n size = 20,\n format = \"sm\",\n radius = 3,\n withLanguageIcon,\n languageIconStyles = {},\n style = {},\n ...otherProps\n}: Props) => {\n const icon = getIcon(platform);\n const iconPath = require(`../${\n format === \"lg\" ? \"svg_80x80\" : \"svg\"\n }/${icon}.svg`);\n\n const languageIcon = getLanguageIcon(platform);\n const languageIconPath = require(`../svg/${languageIcon}.svg`);\n\n if (withLanguageIcon && languageIcon !== icon && languageIcon !== \"default\") {\n return (\n <div {...otherProps} style={{ position: \"relative\", ...style }}>\n <img\n src={iconPath}\n width={size}\n height={size}\n style={{ borderRadius: `${radius}px` }}\n />\n <img\n src={languageIconPath}\n style={{\n position: \"absolute\",\n bottom: \"-1px\",\n right: \"-1px\",\n height: \"30%\",\n width: \"30%\",\n borderRadius: \"2px\",\n ...languageIconStyles,\n }}\n />\n </div>\n );\n }\n\n return (\n <img\n src={iconPath}\n width={size}\n height={size}\n {...otherProps}\n style={{ borderRadius: `${radius}px`, ...style }}\n />\n );\n};\n\nexport default PlatformIcon;\n","import { PLATFORM_TO_ICON } from \"./platformIcon\";\n\n/**\n * Insert <link ref=\"preload\" /> elements into the <head> node to preload\n * platfrom icons. Useful to avoid render blocking / jank when we know we'll be\n * showing platform icons on the next page.\n */\nexport function preloadIcons(format?: \"sm\" | \"lg\") {\n const formats = format ? [format] : [\"lg\", \"sm\"];\n\n const paths: string[] = formats\n .map((f) =>\n Object.values(PLATFORM_TO_ICON).map((icon) =>\n require(`../${f === \"lg\" ? \"svg_80x80\" : \"svg\"}/${icon}.svg`)\n )\n )\n .flat();\n\n document.querySelector(\"head\")?.append(\n ...paths.map((path) => {\n const link = document.createElement(\"link\");\n link.rel = \"preload\";\n link.as = \"image\";\n link.href = path;\n return link;\n })\n );\n}\n"],"names":["PLATFORM_TO_ICON","android","apple","capacitor","clojure","cocoa","cocoa-objc","cocoa-swift","cordova","cryengine","csharp","csharp-aspnetcore","dart","default","dotnet","dotnet-awslambda","dotnet-aspnetcore","dotnet-aspnet","dotnet-csharp","dotnet-blazor","dotnet-uno","dotnet-xamarin","dotnetcore","dotnetfx","electron","elixir","flutter","fsharp","go","godot","java","java-appengine","java-android","java-log4j","java-log4j2","java-logback","java-logging","java-spring","java-spring-boot","javascript","javascript-angular","javascript-angularjs","javascript-backbone","javascript-browser","javascript-capacitor","javascript-cordova","javascript-electron","javascript-ember","javascript-gatsby","javascript-ionic","javascript-nextjs","javascript-react","javascript-vue","ionic","kotlin","kotlin-android","native","native-qt","node","node-awslambda","node-azurefunctions","node-connect","node-express","node-gcpfunctions","node-koa","perl","php","php-laravel","php-monolog","php-symfony2","php-symfony","python","python-aiohttp","python-awslambda","python-azurefunctions","python-bottle","python-celery","python-chalice","python-django","python-falcon","python-flask","python-gcpfunctions","python-pylons","python-pyramid","python-pythonawslambda","python-rq","python-sanic","python-serverless","python-tornado","python-tryton","qt","react-native","ruby","ruby-rack","ruby-rails","ruby-sinatra","rust","rust-actix","scala","stride3d","swift","unity","ue4","unrealengine","normalizePlatform","platform","replace","getIcon","normalizedPlatform","includes","getLanguageIcon","split","size","format","radius","withLanguageIcon","languageIconStyles","style","otherProps","icon","iconPath","require","languageIcon","languageIconPath","React","position","src","width","height","borderRadius","bottom","right","paths","map","f","Object","values","flat","document","querySelector","append","path","link","createElement","rel","as","href"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.js","sources":["../src/platformIcon.tsx","../src/preload.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const PLATFORM_TO_ICON = {\n android: \"android\",\n apple: \"apple\",\n capacitor: \"capacitor\",\n clojure: \"clojure\",\n cocoa: \"apple\",\n \"cocoa-objc\": \"apple\",\n \"cocoa-swift\": \"swift\",\n cordova: \"cordova\",\n cryengine: \"cryengine\",\n csharp: \"csharp\",\n \"csharp-aspnetcore\": \"csharp\",\n dart: \"dart\",\n default: \"default\",\n dotnet: \"dotnet\",\n \"dotnet-awslambda\": \"aws\",\n \"dotnet-gcpfunctions\": \"gcp\",\n \"dotnet-aspnetcore\": \"dotnet\",\n \"dotnet-aspnet\": \"dotnet\",\n \"dotnet-csharp\": \"csharp\",\n \"dotnet-blazor\": \"blazor\",\n \"dotnet-uno\": \"uno\",\n \"dotnet-xamarin\": \"xamarin\",\n dotnetcore: \"dotnetcore\",\n dotnetfx: \"dotnetfx\",\n electron: \"electron\",\n elixir: \"elixir\",\n flutter: \"flutter\",\n fsharp: \"fsharp\",\n go: \"go\",\n godot: \"godot\",\n java: \"java\",\n \"java-appengine\": \"app-engine\",\n \"java-android\": \"android\",\n \"java-log4j\": \"java\",\n \"java-log4j2\": \"java\",\n \"java-logback\": \"logback\",\n \"java-logging\": \"java\",\n \"java-spring\": \"spring\",\n \"java-spring-boot\": \"springboot\",\n javascript: \"javascript\",\n \"javascript-angular\": \"angularjs\",\n \"javascript-angularjs\": \"angularjs\",\n \"javascript-backbone\": \"backbone\",\n \"javascript-browser\": \"javascript\",\n \"javascript-capacitor\": \"capacitor\",\n \"javascript-cordova\": \"cordova\",\n \"javascript-electron\": \"electron\",\n \"javascript-ember\": \"ember\",\n \"javascript-gatsby\": \"gatsby\",\n \"javascript-ionic\": \"ionic\",\n \"javascript-nextjs\": \"nextjs\",\n \"javascript-react\": \"react\",\n \"javascript-vue\": \"vue\",\n ionic: \"ionic\",\n kotlin: \"kotlin\",\n \"kotlin-android\": \"android\",\n native: \"nativec\",\n \"native-qt\": \"qt\",\n node: \"nodejs\",\n \"node-awslambda\": \"aws\",\n \"node-azurefunctions\": \"azure\",\n \"node-connect\": \"nodejs\",\n \"node-express\": \"express\",\n \"node-gcpfunctions\": \"gcp\",\n \"node-koa\": \"koa\",\n perl: \"perl\",\n php: \"php\",\n \"php-laravel\": \"laravel\",\n \"php-monolog\": \"php\",\n \"php-symfony2\": \"symfony\",\n \"php-symfony\": \"symfony\",\n python: \"python\",\n \"python-aiohttp\": \"aiohttp\",\n \"python-awslambda\": \"aws\",\n \"python-azurefunctions\": \"azure\",\n \"python-bottle\": \"bottle\",\n \"python-celery\": \"celery\",\n \"python-chalice\": \"chalice\",\n \"python-django\": \"django\",\n \"python-falcon\": \"falcon\",\n \"python-flask\": \"flask\",\n \"python-gcpfunctions\": \"gcp\",\n \"python-pylons\": \"python\",\n \"python-pyramid\": \"pyramid\",\n \"python-pythonawslambda\": \"aws\",\n \"python-rq\": \"redis\",\n \"python-sanic\": \"python\",\n \"python-serverless\": \"serverless\",\n \"python-tornado\": \"tornado\",\n \"python-tryton\": \"tryton\",\n qt: \"qt\",\n \"react-native\": \"react\",\n ruby: \"ruby\",\n \"ruby-rack\": \"ruby\",\n \"ruby-rails\": \"rails\",\n \"ruby-sinatra\": \"sinatra\",\n rust: \"rust\",\n \"rust-actix\": \"actix\",\n scala: \"scala\",\n stride3d: \"stride3d\",\n swift: \"swift\",\n unity: \"unity\",\n // This will be deprecated in favor of 'unrealengine'\n ue4: \"unreal\",\n unreal: \"unreal\",\n unrealengine: \"unreal\",\n // Don't add new platforms down here!\n // Please add them where they belong alphabetically\n} as const;\n\nfunction normalizePlatform(platform: string): string {\n // sentry uses format python-django, but docs uses python.django\n // this function normalizes that\n return platform.replace(\".\", \"-\");\n}\n\nfunction getIcon(platform: string): Platform {\n const normalizedPlatform = normalizePlatform(platform);\n const icon = PLATFORM_TO_ICON[normalizedPlatform];\n\n if (icon) {\n return icon;\n }\n\n if (normalizedPlatform.includes(\"-\")) {\n return getLanguageIcon(normalizedPlatform);\n }\n\n return \"default\";\n}\n\nfunction getLanguageIcon(platform: string): Platform {\n const [language] = normalizePlatform(platform).split(\"-\");\n\n return getIcon(language);\n}\n\ntype Platform = typeof PLATFORM_TO_ICON[keyof typeof PLATFORM_TO_ICON];\n\ntype Props = React.HTMLAttributes<HTMLDivElement | HTMLImageElement> & {\n platform: string;\n size?: string | number;\n format?: \"sm\" | \"lg\";\n radius?: number | null;\n withLanguageIcon?: boolean;\n languageIconStyles?: React.CSSProperties;\n};\n\nconst PlatformIcon = ({\n platform,\n size = 20,\n format = \"sm\",\n radius = 3,\n withLanguageIcon,\n languageIconStyles = {},\n style = {},\n ...otherProps\n}: Props) => {\n const icon = getIcon(platform);\n const iconPath = require(`../${\n format === \"lg\" ? \"svg_80x80\" : \"svg\"\n }/${icon}.svg`);\n\n const languageIcon = getLanguageIcon(platform);\n const languageIconPath = require(`../svg/${languageIcon}.svg`);\n\n if (withLanguageIcon && languageIcon !== icon && languageIcon !== \"default\") {\n return (\n <div {...otherProps} style={{ position: \"relative\", ...style }}>\n <img\n src={iconPath}\n width={size}\n height={size}\n style={{ borderRadius: `${radius}px` }}\n />\n <img\n src={languageIconPath}\n style={{\n position: \"absolute\",\n bottom: \"-1px\",\n right: \"-1px\",\n height: \"30%\",\n width: \"30%\",\n borderRadius: \"2px\",\n ...languageIconStyles,\n }}\n />\n </div>\n );\n }\n\n return (\n <img\n src={iconPath}\n width={size}\n height={size}\n {...otherProps}\n style={{ borderRadius: `${radius}px`, ...style }}\n />\n );\n};\n\nexport default PlatformIcon;\n","import { PLATFORM_TO_ICON } from \"./platformIcon\";\n\n/**\n * Insert <link ref=\"preload\" /> elements into the <head> node to preload\n * platfrom icons. Useful to avoid render blocking / jank when we know we'll be\n * showing platform icons on the next page.\n */\nexport function preloadIcons(format?: \"sm\" | \"lg\") {\n const formats = format ? [format] : [\"lg\", \"sm\"];\n\n const paths: string[] = formats\n .map((f) =>\n Object.values(PLATFORM_TO_ICON).map((icon) =>\n require(`../${f === \"lg\" ? \"svg_80x80\" : \"svg\"}/${icon}.svg`)\n )\n )\n .flat();\n\n document.querySelector(\"head\")?.append(\n ...paths.map((path) => {\n const link = document.createElement(\"link\");\n link.rel = \"preload\";\n link.as = \"image\";\n link.href = path;\n return link;\n })\n );\n}\n"],"names":["PLATFORM_TO_ICON","android","apple","capacitor","clojure","cocoa","cocoa-objc","cocoa-swift","cordova","cryengine","csharp","csharp-aspnetcore","dart","default","dotnet","dotnet-awslambda","dotnet-gcpfunctions","dotnet-aspnetcore","dotnet-aspnet","dotnet-csharp","dotnet-blazor","dotnet-uno","dotnet-xamarin","dotnetcore","dotnetfx","electron","elixir","flutter","fsharp","go","godot","java","java-appengine","java-android","java-log4j","java-log4j2","java-logback","java-logging","java-spring","java-spring-boot","javascript","javascript-angular","javascript-angularjs","javascript-backbone","javascript-browser","javascript-capacitor","javascript-cordova","javascript-electron","javascript-ember","javascript-gatsby","javascript-ionic","javascript-nextjs","javascript-react","javascript-vue","ionic","kotlin","kotlin-android","native","native-qt","node","node-awslambda","node-azurefunctions","node-connect","node-express","node-gcpfunctions","node-koa","perl","php","php-laravel","php-monolog","php-symfony2","php-symfony","python","python-aiohttp","python-awslambda","python-azurefunctions","python-bottle","python-celery","python-chalice","python-django","python-falcon","python-flask","python-gcpfunctions","python-pylons","python-pyramid","python-pythonawslambda","python-rq","python-sanic","python-serverless","python-tornado","python-tryton","qt","react-native","ruby","ruby-rack","ruby-rails","ruby-sinatra","rust","rust-actix","scala","stride3d","swift","unity","ue4","unreal","unrealengine","normalizePlatform","platform","replace","getIcon","normalizedPlatform","includes","getLanguageIcon","split","size","format","radius","withLanguageIcon","languageIconStyles","style","otherProps","icon","iconPath","require","languageIcon","languageIconPath","React","position","src","width","height","borderRadius","bottom","right","paths","map","f","Object","values","flat","document","querySelector","append","path","link","createElement","rel","as","href"],"mappings":"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"}
@@ -15,6 +15,7 @@ export declare const PLATFORM_TO_ICON: {
15
15
  readonly default: "default";
16
16
  readonly dotnet: "dotnet";
17
17
  readonly "dotnet-awslambda": "aws";
18
+ readonly "dotnet-gcpfunctions": "gcp";
18
19
  readonly "dotnet-aspnetcore": "dotnet";
19
20
  readonly "dotnet-aspnet": "dotnet";
20
21
  readonly "dotnet-csharp": "csharp";
@@ -102,6 +103,7 @@ export declare const PLATFORM_TO_ICON: {
102
103
  readonly swift: "swift";
103
104
  readonly unity: "unity";
104
105
  readonly ue4: "unreal";
106
+ readonly unreal: "unreal";
105
107
  readonly unrealengine: "unreal";
106
108
  };
107
109
  declare type Props = React.HTMLAttributes<HTMLDivElement | HTMLImageElement> & {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "platformicons",
3
- "version": "4.3.0",
3
+ "version": "4.4.0",
4
4
  "description": "Web platform and framework icon set.",
5
5
  "main": "build/index.js",
6
6
  "source": "src/index.tsx",
@@ -16,6 +16,7 @@ export const PLATFORM_TO_ICON = {
16
16
  default: "default",
17
17
  dotnet: "dotnet",
18
18
  "dotnet-awslambda": "aws",
19
+ "dotnet-gcpfunctions": "gcp",
19
20
  "dotnet-aspnetcore": "dotnet",
20
21
  "dotnet-aspnet": "dotnet",
21
22
  "dotnet-csharp": "csharp",
@@ -104,6 +105,7 @@ export const PLATFORM_TO_ICON = {
104
105
  unity: "unity",
105
106
  // This will be deprecated in favor of 'unrealengine'
106
107
  ue4: "unreal",
108
+ unreal: "unreal",
107
109
  unrealengine: "unreal",
108
110
  // Don't add new platforms down here!
109
111
  // Please add them where they belong alphabetically
package/svg/java.svg CHANGED
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><defs><style>.b{fill:#fff}</style></defs><path fill="#ec2227" d="M0 0h20v20H0z"/><path class="b" d="M13.37 13.8l-.27-.05c.33-.47.94-.64 1.3-1.07 1-.75.55-2.13-.74-1.73a.58.58 0 01-.1-.21c3.26-1.33 2.95 2.67-.19 3.06zm-2.81-2.45c-.09 0-.16-.08-.22-.12 1.49-1.43-1.75-2.88 0-4.49.82-.75 2.14-1.67 3.3-1.51-5.84 3.36.87 3.61-3.08 6.12z"/><path class="b" d="M10.22 11.17C4 5.67 11.71 6.8 11.45 2c.67-.19.59 1.17.57 1.61C11.78 5.53 9.39 6.24 8.84 8c-.04 1.21 1.16 2 1.38 3.17zm-1.68 6.01c-1.46-.08-3.06.06-4.4-.57-.65-1.12 1.78-1.37 2.52-1.31l.18.25a3.68 3.68 0 00-1.58.45c.68.59 10.34.76 9.38-.62 1.75.63-1.22 1.56-2 1.56a32 32 0 01-4.1.24z"/><path class="b" d="M9.72 15.66c-1 .17-4.29-.66-1.94-1.54l.16.12a1.45 1.45 0 01-.09.22 8 8 0 002.89.08 2 2 0 011.82.37v.2a7.94 7.94 0 01-2.84.55zm.1-1.73a7.23 7.23 0 01-3.17-.47c-.56-.69.57-1.1 1.11-1.1-1.16 1.07 1.93.64 2.49.64.88 0 1.73-.42 2.48.18a1.21 1.21 0 01.09.2 7.84 7.84 0 01-3 .55z"/><path class="b" d="M7.89 10.57a1.94 1.94 0 01.51.18 7.7 7.7 0 00-1.7.63c2.28.51 4.62-.15 6.88-.17-1.4 1.9-13.58.88-5.69-.64zM10 18a10 10 0 01-4-.64c.51-.28 1.13 0 1.68 0 2.76.07 6 .43 8.29-1.29-.44 2.1-4.23 1.74-5.97 1.93z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="#f80102" d="M0 0h20v20H0z" data-name="Layer 1"/><g data-name="Layer 2" fill="#fff"><path d="M15.11 9.69c.06.15.12.29.17.43a14.08 14.08 0 0 1 .82 3 10.16 10.16 0 0 1 .11 2.88 3.5 3.5 0 0 1-.31 1.15 1.18 1.18 0 0 1-1.49.65 3 3 0 0 1-1-.56c-.3-.22-.59-.46-.91-.66a4 4 0 0 0-4.24 0c-.4.23-.77.53-1.16.79l-.52.35c-.61.39-1.07.16-1.38-.44a2.81 2.81 0 0 1-.2-1.56 11.42 11.42 0 0 1 .37-2.18.23.23 0 0 0-.1-.3 3.82 3.82 0 0 1-.46-.36c-.17-.16-.29-.17-.44 0a.94.94 0 0 0-.17.41c0 .25 0 .51-.08.76a1.09 1.09 0 0 1-.22.46.28.28 0 0 1-.27.08.36.36 0 0 1-.19-.26 4.58 4.58 0 0 1 .08-.62 1.39 1.39 0 0 0 0-.35.3.3 0 0 0-.52-.24 1.19 1.19 0 0 0-.34.29.65.65 0 0 1-.87 0 .26.26 0 0 1 0-.38 1.16 1.16 0 0 1 .57-.5l.49-.21a1.12 1.12 0 0 0-.28-.15c-.22 0-.44 0-.67-.08a.36.36 0 0 1-.35-.43c0-.28.14-.37.42-.28s.34.15.51.22c.35.16.48.12.73-.17a.52.52 0 0 1 .21-.18c.14-.08.28-.16.32-.34a.27.27 0 0 1 .18-.15c.19 0 .22-.14.24-.29a.75.75 0 0 1 0-.21c.24-.89.16-.79 1.14-1.11a1.87 1.87 0 0 1 .41-.09C6 9 6.16 9 6.26 8.72a.47.47 0 0 1 .54-.24c.4 0 .56-.15.73-.48a35.23 35.23 0 0 1 2.63-4c.42-.56.86-1.11 1.29-1.67l.12-.13c.13-.14.23-.14.34 0s.09.17.13.25c.85 1.91 1.7 3.81 2.54 5.72.08.19.16.28.38.26a.79.79 0 0 1 .75.28c.14.17.32 0 .48 0a.24.24 0 0 0 .24-.26v-.42c0-.34-.07-.68-.1-1 0-.15 0-.29-.25-.33a.33.33 0 0 1-.23-.36.39.39 0 0 0-.37-.46 7.28 7.28 0 0 0-.8-.1c-.3 0-.46 0-.51-.21a.61.61 0 0 1 .24-.65.74.74 0 0 1 .71 0 1.13 1.13 0 0 0 .21.12h.25a.28.28 0 0 0 0-.25c-.08-.21-.2-.4-.29-.6a4 4 0 0 1-.24-.62c-.07-.27 0-.41.23-.48s.35 0 .45.29.18.4.28.6a.52.52 0 0 0 .14.16c.12.1.23.06.23-.1a4.1 4.1 0 0 0 0-.7c0-.2 0-.38.18-.49a.38.38 0 0 1 .6.3 5.82 5.82 0 0 1 0 .59v.63c0 .2.15.24.33.11a5.25 5.25 0 0 1 .51-.37c.11-.06.26-.14.38 0a.38.38 0 0 1 0 .46.94.94 0 0 1-.25.24 2.77 2.77 0 0 0-.95 1.11 1.76 1.76 0 0 1-.52.72.21.21 0 0 0-.07.18c0 .49.08 1 .14 1.47a.64.64 0 0 1-.38.74 1.46 1.46 0 0 1-.37.12.6.6 0 0 0-.4.24.72.72 0 0 1-.21.18 1.07 1.07 0 0 1-.26.12Zm.69 5.17a11 11 0 0 0-.35-2.56c-.28-1-.64-1.88-.94-2.83a.52.52 0 0 0-.51-.39h-.14a.34.34 0 0 1-.4-.3 2.27 2.27 0 0 0-.26-.57 2.59 2.59 0 0 0-2.79-1.12 2.29 2.29 0 0 0-1.82 1.36.66.66 0 0 1-.75.49.29.29 0 0 0-.33.2 2 2 0 0 0-.13.25 24.71 24.71 0 0 0-1.68 5.16 5.78 5.78 0 0 0-.1 1.71 2 2 0 0 0 .2.74.49.49 0 0 0 .74.21 4.33 4.33 0 0 0 .51-.31c.34-.24.66-.49 1-.71a4.24 4.24 0 0 1 3.08-.67 4.77 4.77 0 0 1 2.27 1.12 5.08 5.08 0 0 0 .77.54.87.87 0 0 0 .84.1 1 1 0 0 0 .48-.53 5.17 5.17 0 0 0 .31-1.89ZM6.05 9.31l-1.18.35a.41.41 0 0 0-.29.36c0 .25-.06.49-.12.73a.3.3 0 0 0 .12.34.33.33 0 0 1 .13.41.36.36 0 0 0 .18.47 3.4 3.4 0 0 0 .48.29.31.31 0 0 0 .47-.2c.26-.73.53-1.45.79-2.18v-.22c-.17-.13-.38-.24-.58-.35Z"/><path d="M11.17 11.15a2.22 2.22 0 0 1-1.72-.55 1.68 1.68 0 0 1 .16-2.67 2.27 2.27 0 0 1 3 .23 1.63 1.63 0 0 1-.12 2.46 1.9 1.9 0 0 1-1.32.53Z"/></g></svg>
package/svg/unity.svg CHANGED
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M0 0h20v20H0z"/><path d="M15.3 14.83L12.43 10l2.87-4.83L16.69 10zm-6.4-.46l-3.61-3.58H11l2.87 4.83zm0-8.74l5-1.25L11 9.22H5.29zM16.25 2L9.71 3.7l-1 1.66h-2L2 10l4.78 4.65h2l1 1.66L16.25 18 18 11.65 17 10l1-1.64z" fill="#fff"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M0 0h20v20H0z"/><path d="M16.76 13.05V5.93l-6.17-3.56V5.1l2.42 1.4c.09.05.09.19 0 .23l-2.87 1.66c-.09.05-.19.05-.27 0L7 6.73c-.09-.05-.09-.19 0-.23l2.42-1.39V2.37L3.24 5.93v7.12l2.37-1.37V8.89c0-.1.12-.17.2-.12l2.87 1.66c.09.05.14.14.14.23v3.32c0 .1-.11.17-.2.12L6.2 12.7l-2.37 1.37L10 17.63l6.17-3.56-2.37-1.37-2.42 1.4c-.09.05-.21-.02-.2-.12v-3.32c0-.1.05-.19.14-.23l2.87-1.66c.09-.05.21.01.2.12v2.79l2.37 1.37z" fill="#fff"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><style>.a{fill:#ec2227}.b{fill:#108bc8}</style></defs><path class="a" d="M39.68 43.27c-.37-.37-.76-.72-1.12-1.1l-1.79-1.9-.77-.88c-.7-.74-1.35-1.52-2-2.3-.81-1-1.58-2-2.31-3A20.16 20.16 0 0130 31.27a6.62 6.62 0 01-.48-1.27 3.09 3.09 0 01-.09-.53 5 5 0 01.15-1.77 8.44 8.44 0 01.88-2 13.87 13.87 0 011.6-2.14c.36-.41.72-.83 1.11-1.21.52-.53 1.08-1 1.62-1.53l.81-.74 1.93-1.65 1.39-1.17c.46-.39.93-.77 1.4-1.15L42 14.73c.42-.35.85-.69 1.26-1.05s.68-.62 1-.94a15.63 15.63 0 002.09-2.58 14.64 14.64 0 001.31-2.59 12.16 12.16 0 00.58-1.89c.11-.5.2-1 .26-1.51a15.6 15.6 0 000-2A7 7 0 0048.39 1c0-.26-.06-.52-.09-.78a.42.42 0 010-.16.16.16 0 01.2 0 4.59 4.59 0 01.74 1.42 16 16 0 01.41 1.79c.07.44.12.88.17 1.32a15.17 15.17 0 010 2 9.12 9.12 0 01-.12 1.16 12.66 12.66 0 01-.26 1.34 12.61 12.61 0 01-1 2.64 13.61 13.61 0 01-1.55 2.37 18.61 18.61 0 01-2 2.08c-.35.31-.68.65-1 1l-1.8 1.74-2 2c-.16.15-.33.29-.48.44-.67.69-1.35 1.37-2 2.07a24.37 24.37 0 00-2.2 2.67 13.52 13.52 0 00-1.18 1.9 7 7 0 00-.61 1.77 4 4 0 000 1.19 9.45 9.45 0 00.25 1.41 16.36 16.36 0 00.65 1.94 26.35 26.35 0 001.37 2.83c.29.52.58 1 .88 1.55.53.9 1.11 1.78 1.69 2.65.33.51.69 1 1.06 1.47a1.56 1.56 0 01.16.46z"/><path class="b" d="M22.85 67.81l-1.27.19c-.38.07-.76.13-1.13.22l-1.56.38a11.35 11.35 0 00-1.7.58 4.77 4.77 0 00-1.11.6 1.79 1.79 0 00-.58.67.85.85 0 000 .5.42.42 0 00.09.14 2.23 2.23 0 00.6.46 5.32 5.32 0 001.11.43c.47.13.94.24 1.42.34s1 .21 1.54.29l1.41.21c.47.07 1.1.16 1.66.21.28 0 .56.08.84.11l.65.07c.36 0 .73 0 1.09.08.19 0 .38 0 .58.06a2 2 0 01.54.06h.07c.46 0 .93 0 1.4.08s.87 0 1.3.08.68 0 1 .06c1.65.11 3.29.07 4.94 0 1.21 0 2.42 0 3.63-.07.7 0 1.4 0 2.09-.06s1.19 0 1.78-.07 1.05 0 1.57-.07.92 0 1.37-.07.75 0 1.13-.06.82 0 1.23-.08.59 0 .88-.06.8 0 1.19-.11h.07l1.25.02.55-.06a1.67 1.67 0 00.5-.06h.07c.34 0 .69 0 1-.09a6.41 6.41 0 00.88-.11h.14c.36 0 .72-.08 1.08-.13l.75-.09 1.1-.21 1-.15c.3-.06.6-.1.9-.17.66-.14 1.31-.29 2-.45a9.56 9.56 0 002.25-.85 4 4 0 00.76-.53 1.06 1.06 0 00.19-1.1 4.63 4.63 0 00-.18-.52H65a2.41 2.41 0 01.76.73A1 1 0 0166 70a.58.58 0 01-.12.28 3.08 3.08 0 01-.63.67 11 11 0 01-2.49 1.47 23 23 0 01-2.39.9c-.85.27-1.72.49-2.59.71-.53.13-1.06.24-1.6.34s-.89.16-1.34.23l-1 .19c-.23 0-.46 0-.68.09s-.54 0-.81.11-.38 0-.58.07-.56 0-.84.09-.66 0-1 .12h-.06l-1.23.09-.61.06a2.14 2.14 0 00-.62.06c-.42 0-.84.06-1.26.07-.63 0-1.26.11-1.89.09-.45.08-.91 0-1.36.07-.65.06-1.31 0-1.95.07-.84.07-1.67 0-2.5.07-1.3.08-2.59 0-3.88 0h-3.85c-.91 0-1.82 0-2.74-.07-.53 0-1.07 0-1.6-.06s-.85 0-1.27-.07-.8 0-1.19-.07-.57 0-.85-.06-.83 0-1.23-.12h-.14l-1.19-.08-.51-.07a3.78 3.78 0 01-.47-.06c-.21 0-.43 0-.65-.07s-.56-.05-.85-.09l-.74-.11-.64-.09-.94-.16c-.43-.08-.87-.16-1.3-.26a16.66 16.66 0 01-1.84-.5 8.45 8.45 0 01-1-.43 5.51 5.51 0 01-.61-.37 1.25 1.25 0 01-.5-.75.9.9 0 010-.4 2.44 2.44 0 01.91-1.37 8 8 0 012-1.14 21 21 0 012.63-.87c.67-.18 1.35-.31 2-.46.33-.07.67-.1 1-.15l1.35-.19a14.31 14.31 0 011.85-.07 5.54 5.54 0 01.57.07z"/><path class="a" d="M43 46.23l.49-.69a14.65 14.65 0 001.4-2.31 3.73 3.73 0 00.36-2.13 4.53 4.53 0 00-.59-1.66 22.28 22.28 0 00-1.32-2l-1.41-2a10.19 10.19 0 01-1.37-2.93 6.67 6.67 0 01-.25-1.16 7.07 7.07 0 01-.12-1.3 8 8 0 01.59-2.89 10.43 10.43 0 011.94-3c.17-.18.32-.36.49-.53a19.45 19.45 0 012.31-1.94 27.63 27.63 0 013.28-2c1-.53 2-1 3.06-1.45S54 17.29 55 16.93c.73-.26 1.47-.48 2.21-.71a.52.52 0 01.35 0c0 .05-.06.09-.1.11l-2.17 1.37c-.84.53-1.66 1.08-2.48 1.65-1 .7-2 1.42-2.93 2.2-.51.41-1 .84-1.51 1.29s-.84.78-1.23 1.19a12.37 12.37 0 00-1.63 2.11 6 6 0 00-.71 1.66 3.78 3.78 0 000 1.8 6.12 6.12 0 00.54 1.36 27.36 27.36 0 001.57 2.53 19.73 19.73 0 011.32 2.27 10 10 0 01.77 2.16 4.46 4.46 0 010 1.63 5.31 5.31 0 01-.69 1.85 10.51 10.51 0 01-2 2.44 17.1 17.1 0 01-2 1.66c-.35.25-.7.47-1.05.71-.07.04-.13.09-.26.02z"/><path class="b" d="M52.49 65.53c0 .11-.09.11-.14.13-.32.12-.63.24-1 .33-.52.14-1 .32-1.54.46-.77.21-1.55.42-2.33.61s-1.69.38-2.53.55c-.36.07-.72.09-1.08.16s-.83.1-1.25.18c-.22 0-.45 0-.68.07-.41 0-.84.07-1.26.08-.74 0-1.48.09-2.23.06s-1.37 0-2.05-.08c-.33 0-.66 0-1-.06s-.79 0-1.19-.11-.61 0-.92-.09l-.81-.11-.48-.08c-.58-.09-1.16-.21-1.73-.33a15 15 0 01-2.57-.8 5 5 0 01-1.5-.93 1.69 1.69 0 01-.52-.79 1.42 1.42 0 010-.91 2.17 2.17 0 01.86-1 6.39 6.39 0 012.24-1 .14.14 0 01.12 0v.1c0 .04 0 .05-.06.08l-.07.12a1 1 0 00-.18.51.7.7 0 00.2.56 1.44 1.44 0 00.48.37 2.78 2.78 0 00.44.19 8.54 8.54 0 001.33.3c.25 0 .5 0 .74.07.52.06 1 0 1.54.06 2.57.08 3.6.09 6 0h1.51c.25 0 .66 0 1-.07s.8 0 1.19-.11h.1c.42 0 .84-.08 1.25-.12.26 0 .52-.07.78-.09l.51-.08c.34-.05.67-.13 1-.18a9.24 9.24 0 001.07-.24.93.93 0 01.78.12l1.17.7a18.43 18.43 0 002.6 1.28zM27.22 53.12c-.18.22-.33.39-.47.57a1.51 1.51 0 00-.33.67.71.71 0 000 .43 1.35 1.35 0 00.56.62 4 4 0 001.1.46c.38.09.77.17 1.17.23l1.15.14c.34 0 .68 0 1 .07 1 .1 2 .06 3 .07s2 0 3 0c.52 0 1 0 1.57-.06s.78 0 1.16-.07.67 0 1-.07.64 0 1-.07a8.66 8.66 0 001-.11h.07c.38 0 .75 0 1.13-.09s.95-.09 1.42-.18c.26 0 .54 0 .81-.09l.71-.11.61-.08q.84-.1 1.68-.27c.24 0 .49-.06.74-.09a.92.92 0 01.69.24 10.31 10.31 0 001.12.85 5.68 5.68 0 001.47.7h.09c0 .06 0 .08-.06.1a5.43 5.43 0 01-.93.33l-1.58.43c-.54.15-1.09.3-1.65.41l-1 .23-1.3.25-.94.18-.5.08c-.45 0-.88.12-1.33.16l-1.29.14c-.3 0-.61 0-.92.07s-.93 0-1.4.07c-1 .08-2 0-3 0-.65-.08-1.3 0-2-.08s-1 0-1.57 0-.94 0-1.4-.09c-.29 0-.58 0-.86-.06s-.68 0-1-.11-.57 0-.85-.08l-.81-.11c-.19 0-.38-.07-.58-.09a19.24 19.24 0 01-2.6-.5 9 9 0 01-1.82-.67 2.87 2.87 0 01-.58-.37 1.31 1.31 0 01-.47-1.4 2.63 2.63 0 01.87-1.36 5.9 5.9 0 012.35-1.13l.39-.11zm29.64-6.35a3.78 3.78 0 01-.68.45L54 48.59a1.84 1.84 0 01-.79.29c-.37 0-.74.13-1.11.18l-1.15.16-.7.11c-.19 0-.39 0-.58.07a6.23 6.23 0 01-.74.09l-.71.11c-.2 0-.41 0-.61.07s-.57.06-.85.1l-.81.11h-.14c-.3 0-.61 0-.91.09l-.85.11c-.3 0-.61.06-.92.09s-.38 0-.57.06a2.06 2.06 0 00-.55.06h-.06l-1.16.09c-.22 0-.43 0-.65.06a2.51 2.51 0 00-.61 0h-.07c-.47 0-.93.06-1.4.07-.62 0-1.23.1-1.85.09-.82.09-1.64 0-2.47.06s-1.65 0-2.47 0c-.59 0-1.19 0-1.78-.06s-.89 0-1.33-.07-.82 0-1.23-.07-.59 0-.89-.07-.59 0-.88-.06l-1.5-.14-1.15-.13-1.56-.21a19.65 19.65 0 01-2-.4 12.13 12.13 0 01-1.33-.43 1.78 1.78 0 01-.64-.45.46.46 0 01-.08-.57 1.64 1.64 0 01.41-.46 7.08 7.08 0 011-.63 21.07 21.07 0 013.3-1.37c1-.33 1.95-.62 2.94-.86.49-.12 1-.23 1.47-.32s1-.19 1.57-.27a15.08 15.08 0 011.76-.21 2.91 2.91 0 00.31 0h.17l.19.07-1 .3-1.54.44c-.85.25-1.68.55-2.5.88a8.75 8.75 0 00-1.5.75 2.62 2.62 0 00-.6.5.78.78 0 00-.24.55.31.31 0 00.12.27 1.29 1.29 0 00.36.25 5.15 5.15 0 001.23.37c.4 0 .79.13 1.18.18s.57 0 .85.09.75 0 1.12.12h.1c.61 0 1.21.07 1.82.1.9 0 1.8 0 2.7.07h4.29c.71 0 1.21 0 1.81-.07.39 0 .78 0 1.17-.06s.73 0 1.09-.07.66 0 1-.07.59 0 .88-.07.6 0 .89-.07.73 0 1.09-.11h.06c.38 0 .76-.05 1.13-.09s1-.09 1.46-.14.86-.08 1.29-.14 1-.09 1.42-.17c.28-.06.57 0 .85-.1s.54-.05.81-.11.38-.05.57-.08.5 0 .75-.08.79-.13 1.18-.18.76-.13 1.15-.17.67-.11 1-.17l.64-.09zM69.6 72.42a2.1 2.1 0 01-.3.79 4.92 4.92 0 01-.51.69 8.38 8.38 0 01-1.63 1.4c-.32.21-.66.4-1 .59a18.82 18.82 0 01-2 1 22.76 22.76 0 01-2.15.75c-.62.19-1.24.36-1.87.5s-1 .24-1.57.32c-.27 0-.53.1-.8.15l-1 .18c-.4.07-.81.11-1.21.19-.18 0-.36 0-.54.08l-1.32.16c-.44 0-.88.12-1.32.18l-.71.07a10 10 0 00-1.09.1c-.34.06-.68 0-1 .1h-.07c-.46 0-.93 0-1.4.09s-.91 0-1.36.11h-.07c-.68 0-1.37 0-2 .09-1.07.08-2.15 0-3.22.08h-1.34c-1-.06-2 0-3-.07-.52 0-1 0-1.54-.06s-.78 0-1.16-.07-.69 0-1-.07l-1.46-.14a8.78 8.78 0 01-.88-.1c-.22 0-.45 0-.68-.07s-.54-.06-.81-.1l-1.08-.17-.54-.08c-.57-.1-1.14-.19-1.71-.3s-1.07-.22-1.6-.35-1.21-.3-1.81-.46c-.32-.08-.63-.18-1-.28a1.46 1.46 0 01-.18-.09h.11a2.92 2.92 0 01.72.06h.06l1.13.08.58.06a2.17 2.17 0 01.57.06h.07c.41 0 .82 0 1.23.1a9.11 9.11 0 011 .11l1.26.08c.5 0 1 0 1.5.09s.69 0 1 0c.54.06 1.09 0 1.64.09s.82 0 1.23 0c.89.06 1.78 0 2.67.08s2 0 3 0h3l1.3-.05h1.31c.43 0 1 0 1.47-.07s.8 0 1.19-.06.85 0 1.26-.11h.07c.43 0 .87 0 1.3-.1a7.65 7.65 0 00.95-.1h.1c.33 0 .66 0 1-.09s.92-.09 1.38-.18c.22 0 .45 0 .68-.08l1.21-.19 1-.16 1.3-.23 1.17-.25c.5-.12 1-.23 1.49-.36 1-.28 2-.57 3.06-.94.57-.21 1.15-.42 1.7-.68.35-.17.71-.32 1-.5A17.22 17.22 0 0069 72.68zM57.31 58.67a1.71 1.71 0 01.47-.34c.57-.36 1.14-.71 1.7-1.09a26.59 26.59 0 002.2-1.63c.41-.34.82-.69 1.2-1.06.2-.19.42-.37.6-.57a17.3 17.3 0 001.33-1.51 8.3 8.3 0 001.39-2.69 4.7 4.7 0 00-.53-3.78 3.61 3.61 0 00-1.37-1.26 5.05 5.05 0 00-1.47-.52c-.32-.07-.65-.11-1-.15a7.16 7.16 0 00-1.13 0 7.07 7.07 0 00-1 .11 3.92 3.92 0 01-.51.07c0-.06 0-.09.07-.12a3 3 0 01.74-.53 5.2 5.2 0 011.32-.42A7 7 0 0162.6 43c.16 0 .31-.05.47 0a9.46 9.46 0 011.92.28 7.07 7.07 0 011.6.68 7.5 7.5 0 011.49 1.13 5.16 5.16 0 011.42 2.51 4.18 4.18 0 01.09.71 7.48 7.48 0 010 .82 4.33 4.33 0 01-.28 1.33 6 6 0 01-.75 1.54c-.24.35-.5.68-.76 1s-.36.41-.56.61-.51.49-.78.72a16.78 16.78 0 01-1.67 1.24 21.72 21.72 0 01-2.05 1.17 29.65 29.65 0 01-3 1.25c-.73.26-1.48.48-2.23.71h-.14z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><path d="M64.17 38.53c.28.73.53 1.38.79 2a66.75 66.75 0 0 1 3.86 14.06 47.63 47.63 0 0 1 .54 13.75 17.66 17.66 0 0 1-1.47 5.42 5.61 5.61 0 0 1-7.06 3.08 15.12 15.12 0 0 1-4.76-2.64c-1.42-1.06-2.79-2.21-4.3-3.12-6.64-4-13.37-3.84-20-.11-1.93 1.08-3.65 2.5-5.48 3.76q-1.23.84-2.49 1.65c-2.86 1.81-5.06.75-6.52-2.1A13.41 13.41 0 0 1 16.12 67a54.52 54.52 0 0 1 1.76-10.3c.15-.56.2-1-.46-1.4a13.61 13.61 0 0 1-2.18-1.7c-.83-.75-1.4-.83-2.08.06a4.56 4.56 0 0 0-.81 2c-.21 1.19-.15 2.44-.39 3.62a5.77 5.77 0 0 1-1 2.17 1.42 1.42 0 0 1-1.3.38 1.72 1.72 0 0 1-.88-1.23 18.61 18.61 0 0 1 .38-2.95A8.38 8.38 0 0 0 9.31 56a1.42 1.42 0 0 0-2.25-1.24 5.88 5.88 0 0 0-1.64 1.38c-1.1 1.34-3.06.83-4.1.1a1.23 1.23 0 0 1-.19-1.79 5.55 5.55 0 0 1 2.71-2.37c.65-.27 1.29-.56 2.33-1a6.31 6.31 0 0 0-1.36-.69c-1-.18-2.09-.27-3.13-.4A1.67 1.67 0 0 1 0 48c.07-1.33.66-1.76 2-1.32.84.29 1.63.7 2.44 1 1.65.73 2.25.56 3.41-.85a3.82 3.82 0 0 1 1-.85c.69-.38 1.34-.71 1.55-1.59a1.2 1.2 0 0 1 .83-.7c.92-.06 1.05-.65 1.12-1.35a7.9 7.9 0 0 1 .1-1c1.14-4.22.79-3.78 5.4-5.29a14.08 14.08 0 0 1 1.95-.42c1.09-.19 2.06-.37 2.53-1.69a2.27 2.27 0 0 1 2.57-1.16c1.89.27 2.65-.71 3.48-2.23A156.94 156.94 0 0 1 40.77 11.7c2-2.67 4.06-5.28 6.1-7.91a5.43 5.43 0 0 1 .54-.63c.64-.64 1.1-.64 1.62.08a6.23 6.23 0 0 1 .6 1.18q6 13.52 12 27c.39.88.78 1.33 1.8 1.22A3.69 3.69 0 0 1 67 34c.67.82 1.54 0 2.3-.13a1.2 1.2 0 0 0 1.12-1.25c0-.66 0-1.33-.06-2-.14-1.59-.32-3.19-.48-4.79-.08-.74-.19-1.38-1.14-1.58a1.48 1.48 0 0 1-1.09-1.68 1.91 1.91 0 0 0-1.78-2.19 26.76 26.76 0 0 0-3.77-.46c-1.4 0-2.2-.27-2.42-1a2.91 2.91 0 0 1 1.15-3.08 3.47 3.47 0 0 1 3.35 0 7.84 7.84 0 0 0 1 .58c.39.1 1 .19 1.19 0a1.33 1.33 0 0 0 .21-1.19c-.37-1-.92-1.89-1.35-2.85a18.69 18.69 0 0 1-1.16-2.98c-.32-1.27.09-1.94 1.1-2.24s1.63.15 2.13 1.33c.41 1 .85 1.91 1.31 2.85a2.32 2.32 0 0 0 .64.76c.57.47 1.09.28 1.11-.47a24.52 24.52 0 0 0-.14-3.32A2.13 2.13 0 0 1 71.08 6a1.78 1.78 0 0 1 2.8 1.43 26.66 26.66 0 0 1-.06 2.82 17.06 17.06 0 0 0 .18 2.94c.18 1 .7 1.13 1.55.54a22 22 0 0 1 2.31-1.58c.54-.29 1.25-.66 1.81.06a1.73 1.73 0 0 1 0 2.17 4.61 4.61 0 0 1-1.18 1.15A13.41 13.41 0 0 0 74 20.74a8.15 8.15 0 0 1-2.45 3.44 1.07 1.07 0 0 0-.35.82c.19 2.32.4 4.64.67 7A3 3 0 0 1 70 35.46a8 8 0 0 1-1.73.57 2.84 2.84 0 0 0-1.93 1.15 3.26 3.26 0 0 1-1 .85 8.08 8.08 0 0 1-1.17.5ZM67.41 63a50 50 0 0 0-1.66-12.14c-1.32-4.5-3-8.89-4.43-13.37a2.48 2.48 0 0 0-2.56-1.85h-.67a1.66 1.66 0 0 1-1.89-1.43 9.76 9.76 0 0 0-1.2-2.74c-2.71-4.33-7.76-6.35-13.18-5.27-3.84.76-7 2.8-8.48 6.48-.76 1.82-1.77 2.46-3.56 2.3h-.18a1.4 1.4 0 0 0-1.57.93c-.19.41-.44.78-.61 1.18a119.68 119.68 0 0 0-7.94 24.41 27.56 27.56 0 0 0-.48 8.1 9.55 9.55 0 0 0 1.13 3.4c.8 1.48 2 1.75 3.53 1a19.94 19.94 0 0 0 2.4-1.49c1.59-1.11 3.12-2.31 4.75-3.35A20.23 20.23 0 0 1 45.39 66a22.8 22.8 0 0 1 10.73 5.31 26.22 26.22 0 0 0 3.66 2.57 4.23 4.23 0 0 0 4 .47A4.58 4.58 0 0 0 66 71.8c1.25-2.8 1.3-5.8 1.41-8.8Zm-46.1-26.28c-2 .59-3.77 1.12-5.56 1.67a2 2 0 0 0-1.38 1.73c-.19 1.14-.3 2.3-.54 3.44a1.41 1.41 0 0 0 .55 1.59 1.6 1.6 0 0 1 .62 1.93 1.74 1.74 0 0 0 .88 2.24 18.78 18.78 0 0 0 2.26 1.39 1.47 1.47 0 0 0 2.2-1c1.26-3.43 2.51-6.85 3.75-10.29.12-.34.26-1 .13-1-.95-.65-1.94-1.16-2.91-1.7Z" fill="#f80102"/><path d="M45.53 45.44a10.63 10.63 0 0 1-8.15-2.6c-4-3.55-3.62-9.4.78-12.64a10.76 10.76 0 0 1 14.09 1.1c3.52 3.74 3 8.41-.56 11.63a9.07 9.07 0 0 1-6.16 2.51Z" fill="#f80102"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><path d="M0 0h80v80H0z"/><path d="M57.56 57.32L47.27 40l10.29-17.32 5 17.32zm-22.93-1.66L21.7 42.82h20.56l10.29 17.32zm0-31.32l17.92-4.48-10.29 17.33H21.7zm26.37-13l-23.41 6.1-3.47 5.95-7-.06L9.9 40 27 56.67l7-.05 3.47 5.94L61 68.66l6.22-22.76-3.56-5.9 3.56-5.89z" fill="#fff"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><path d="M0 0h80v80H0z"/><path d="M67.03 52.19V23.71L42.36 9.47V20.4l9.67 5.58c.35.19.36.74 0 .94l-11.49 6.63c-.35.2-.76.19-1.08 0l-11.49-6.63c-.35-.19-.36-.74 0-.94l9.66-5.58V9.47L12.97 23.71V52.2l9.46-5.46V35.58c0-.4.46-.68.81-.47l11.49 6.63c.35.2.54.56.54.94v13.27c0 .4-.46.68-.81.47l-9.67-5.58-9.46 5.46L40 70.54 64.67 56.3l-9.46-5.46-9.67 5.58c-.34.21-.82-.06-.81-.47V42.68c0-.4.22-.75.54-.94l11.49-6.63c.34-.21.82.06.81.47v11.16l9.46 5.46z" fill="#ccc"/><path d="M40 70.53l24.67-14.24-9.46-5.46-9.67 5.58c-.34.21-.82-.06-.81-.47V42.67c0-.4.22-.75.54-.94l11.49-6.63c.34-.21.82.06.81.47v11.16l9.46 5.46V23.71L40 39.32v31.22z" fill="#a6a6a6"/><path d="M42.37 9.47V20.4l9.67 5.58c.35.19.36.74 0 .94l-11.49 6.63c-.35.2-.76.19-1.08 0l-11.49-6.63c-.35-.19-.36-.74 0-.94l9.66-5.58V9.47L12.97 23.71 40 39.32l27.03-15.61L42.36 9.47z" fill="#fff"/><path d="M34.46 56.41l-9.67-5.58-9.46 5.46L40 70.53V39.31l-27.03-15.6V52.2l9.46-5.46V35.58c0-.4.46-.68.81-.47l11.49 6.63c.35.2.54.56.54.94v13.27c0 .4-.46.68-.81.47z" fill="#ccc"/></svg>