platformicons 6.0.3 → 7.0.1

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.
@@ -0,0 +1,20 @@
1
+ import { PLATFORM_TO_ICON } from "./platformIcon";
2
+ /**
3
+ * Insert <link ref="preload" /> elements into the <head> node to preload
4
+ * platfrom icons. Useful to avoid render blocking / jank when we know we'll be
5
+ * showing platform icons on the next page.
6
+ */
7
+ export function preloadIcons(format) {
8
+ const formats = format ? [format] : ["lg", "sm"];
9
+ const paths = formats
10
+ .map((f) => Object.values(PLATFORM_TO_ICON).map((icon) => require(`../${f === "lg" ? "svg_80x80" : "svg"}/${icon}.svg`)))
11
+ .flat();
12
+ document.querySelector("head")?.append(...paths.map((path) => {
13
+ const link = document.createElement("link");
14
+ link.rel = "preload";
15
+ link.as = "image";
16
+ link.href = path;
17
+ return link;
18
+ }));
19
+ }
20
+ //# sourceMappingURL=preload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preload.js","sourceRoot":"","sources":["../src/preload.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAAoB;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAa,OAAO;SAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAC9D,CACF;SACA,IAAI,EAAE,CAAC;IAEV,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CACpC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,11 +1,14 @@
1
1
  {
2
2
  "name": "platformicons",
3
- "version": "6.0.3",
3
+ "version": "7.0.1",
4
4
  "description": "Web Platform and Framework Logo Set",
5
5
  "main": "build/index.js",
6
+ "module": "esmbuild/index.js",
6
7
  "types": "build/index.d.ts",
8
+ "sideEffects": false,
7
9
  "files": [
8
10
  "build/",
11
+ "esmbuild/",
9
12
  "svg/",
10
13
  "svg_80x80/"
11
14
  ],
@@ -26,25 +29,23 @@
26
29
  },
27
30
  "homepage": "https://github.com/getsentry/platformicons",
28
31
  "scripts": {
29
- "build": "microbundle --jsx React.createElement",
30
- "dev": "microbundle watch --jsx React.createElement",
32
+ "build": "tsc && tsc -p tsconfig.esm.json",
31
33
  "prepare": "yarn build"
32
34
  },
33
35
  "peerDependencies": {
34
36
  "react": "*"
35
37
  },
36
38
  "devDependencies": {
37
- "microbundle": "^0.12.4",
38
- "react": "^17",
39
- "react-dom": "^17",
40
- "typescript": "^4.0.2"
39
+ "react": "^18",
40
+ "react-dom": "^18",
41
+ "typescript": "^5.6.2"
41
42
  },
42
43
  "dependencies": {
43
44
  "@types/node": "*",
44
45
  "@types/react": "*"
45
46
  },
46
47
  "volta": {
47
- "node": "16.13.1",
48
- "yarn": "1.22.5"
48
+ "node": "20.13.1",
49
+ "yarn": "1.22.22"
49
50
  }
50
51
  }
@@ -1,2 +0,0 @@
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={amazon:"amazon",amd:"amd",android:"android","android-phone":"android-phone","android-tablet":"android-tablet",anthropic:"anthropic",apple:"apple","apple-ipad":"apple-ipad","apple-iphone":"apple-iphone","apple-tv":"apple-tv","apple-watch":"apple-watch",arm:"arm",bun:"bun",capacitor:"capacitor",chrome:"chrome",chromium:"chromium",clojure:"clojure",cocoa:"apple","cocoa-objc":"apple","cocoa-swift":"swift",cohere:"cohere",cordova:"cordova",cloudflare:"cloudflare",cpp:"cpp",cryengine:"cryengine",crystal:"crystal",css:"css",csharp:"csharp","csharp-aspnetcore":"csharp",dart:"dart",default:"default",deno:"deno",dotnet:"dotnet","dotnet-aspnetcore":"dotnet","dotnet-aspnet":"dotnet","dotnet-awslambda":"awslambda","dotnet-blazor":"blazor","dotnet-csharp":"csharp","dotnet-gcpfunctions":"gcp-functions","dotnet-maui":"maui","dotnet-uno":"uno","dotnet-xamarin":"xamarin",dotnetcore:"dotnetcore",dotnetfx:"dotnetfx",dotnetframework:"dotnetframework",edge:"edge","edge-legacy":"edge-legacy",electron:"electron",elixir:"elixir",firefox:"firefox",flutter:"flutter",font:"font",fsharp:"fsharp",git:"git",go:"go","go-echo":"echo","go-fasthttp":"fasthttp","go-fiber":"fiber","go-gin":"gin","go-iris":"iris","go-martini":"martini","go-negroni":"go",godot:"godot",huggingface:"huggingface","internet-explorer":"internet-explorer",java:"java","java-appengine":"app-engine","java-android":"android","java-log4j":"java","java-log4j2":"java","java-logback":"logback","java-logging":"java","java-ray":"ray","java-spring":"spring","java-spring-boot":"springboot",javascript:"javascript","javascript-alpinejs":"alpinejs","javascript-analogjs":"analogjs","javascript-angular":"angularjs","javascript-angularjs":"angularjs","javascript-astro":"astro","javascript-backbone":"backbone","javascript-browser":"javascript","javascript-capacitor":"capacitor","javascript-cordova":"cordova","javascript-electron":"electron","javascript-ember":"ember","javascript-gatsby":"gatsby","javascript-hono":"hono","javascript-hydrogen":"hydrogen","javascript-ionic":"ionic","javascript-lit":"lit","javascript-meteor":"meteor","javascript-million":"million","javascript-nextjs":"nextjs","javascript-nuxt":"nuxt","javascript-opennext":"opennext","javascript-qwik":"qwik","javascript-react":"react","javascript-remix":"remix","javascript-solid":"solid","javascript-solidstart":"solidstart","javascript-svelte":"svelte","javascript-sveltekit":"svelte","javascript-vue":"vue","javascript-wasm":"wasm","javascript-node":"nodejs","javascript-awslambda":"awslambda","javascript-azurefunctions":"azure-functions","javascript-connect":"connect","javascript-express":"express","javascript-fastify":"fastify","javascript-gcpfunctions":"gcp-functions","javascript-hapi":"hapi","javascript-koa":"koa","javascript-nestjs":"nestjs","javascript-serverlesscloud":"serverless",ionic:"ionic",kotlin:"kotlin","kotlin-android":"android",langchain:"langchain",linux:"linux",mono:"mono",motorola:"motorola",native:"nativec","native-qt":"qt",nintendo:"nintendo","nintendo-switch":"nintendo-switch",node:"nodejs","node-awslambda":"awslambda","node-azurefunctions":"azure-functions","node-connect":"connect","node-express":"express","node-fastify":"fastify","node-gcpfunctions":"gcp-functions","node-hapi":"hapi","node-koa":"koa","node-nestjs":"nestjs","node-serverlesscloud":"serverless",nvidia:"nvidia",openai:"openai",opera:"opera",perl:"perl",php:"php",playstation:"playstation",powershell:"powershell","php-laravel":"laravel","php-livewire":"livewire","php-magento":"magento","php-monolog":"php","php-symfony2":"symfony","php-symfony":"symfony",python:"python","python-aiohttp":"aiohttp","python-airflow":"apache-airflow","python-ariadne":"ariadne","python-asyncpg":"postgresql","python-awslambda":"awslambda","python-azurefunctions":"azure-functions","python-beam":"apache-beam","python-boto3":"aws","python-bottle":"bottle","python-celery":"celery","python-chalice":"chalice","python-clickhouse-driver":"clickhouse","python-django":"django","python-dramatiq":"dramatiq","python-falcon":"falcon","python-fastapi":"fastapi","python-flask":"flask","python-gcpfunctions":"gcp-functions","python-gnu_backtrace":"gnu","python-gql":"graphql","python-graphene":"graphene","python-grpc":"grpc","python-httpx":"httpx","python-huey":"huey","python-litestar":"litestar","python-loguru":"loguru","python-pylons":"python","python-pymongo":"mongodb","python-pyramid":"pyramid","python-pythonawslambda":"awslambda","python-quart":"quart","python-ray":"ray","python-redis":"redis","python-rq":"redis","python-sanic":"sanic","python-serverless":"serverless","python-starlette":"starlette","python-strawberry":"strawberry","python-spark":"apache-spark","python-sqlalchemy":"sqlalchemy","python-tornado":"tornado","python-tryton":"tryton",qq:"qq",qt:"qt","react-native":"react-native",ruby:"ruby","ruby-activeadmin":"activeadmin","ruby-grape":"grape","ruby-hanami":"hanami","ruby-padrino":"padrino","ruby-rack":"ruby","ruby-rails":"rails","ruby-sidekiq":"sidekiq","ruby-sinatra":"sinatra","ruby-trailblazer":"trailblazer",rust:"rust","rust-actix":"actix",safari:"safari",samsung:"samsung",scala:"scala",stride3d:"stride3d",sql:"sql",sqlserver:"sqlserver",swift:"swift",tauri:"tauri",ubuntu:"ubuntu",unity:"unity",ue4:"unreal",unreal:"unreal",unrealengine:"unreal",visualbasic:"visual-basic",vscode:"vscode",windows:"windows"};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,i,s=e.platform,p=e.size,c=void 0===p?20:p,l=e.format,d=void 0===l?"sm":l,u=e.radius,h=void 0===u?3:u,v=e.withLanguageIcon,g=e.languageIconStyles,y=void 0===g?{}:g,f=e.style,m=void 0===f?{}:f,j=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"]),b=r(s),w=require("../"+("lg"===d?"svg_80x80":"svg")+"/"+b+".svg"),x=null!=(n=null==w?void 0:w.default)?n:w,q=o(s),k=require("../svg/"+q+".svg"),z=null!=(i=null==k?void 0:k.default)?i:k;return v&&q!==b&&"default"!==q?a.createElement("div",Object.assign({},j,{style:t({position:"relative"},m)}),a.createElement("img",{src:x,width:c,height:c,style:{borderRadius:h+"px"}}),a.createElement("img",{src:z,style:t({position:"absolute",bottom:"-1px",right:"-1px",height:"30%",width:"30%",borderRadius:"2px"},y)})):a.createElement("img",Object.assign({src:x,width:c,height:c},j,{style:t({borderRadius:h+"px"},m)}))};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}))}var p=Object.keys(e);export{i as PlatformIcon,p as platforms,s as preloadIcons};
2
- //# sourceMappingURL=index.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/platformIcon.tsx","../src/preload.tsx","../src/index.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const PLATFORM_TO_ICON = {\n amazon: \"amazon\",\n amd: \"amd\",\n android: \"android\",\n \"android-phone\": \"android-phone\",\n \"android-tablet\": \"android-tablet\",\n anthropic: \"anthropic\",\n apple: \"apple\",\n \"apple-ipad\": \"apple-ipad\",\n \"apple-iphone\": \"apple-iphone\",\n \"apple-tv\": \"apple-tv\",\n \"apple-watch\": \"apple-watch\",\n arm: \"arm\",\n bun: \"bun\",\n capacitor: \"capacitor\",\n chrome: \"chrome\",\n chromium: \"chromium\",\n clojure: \"clojure\",\n cocoa: \"apple\",\n \"cocoa-objc\": \"apple\",\n \"cocoa-swift\": \"swift\",\n cohere: \"cohere\",\n cordova: \"cordova\",\n cloudflare: \"cloudflare\",\n cpp: \"cpp\",\n cryengine: \"cryengine\",\n crystal: \"crystal\",\n css: \"css\",\n csharp: \"csharp\",\n \"csharp-aspnetcore\": \"csharp\",\n dart: \"dart\",\n default: \"default\",\n deno: \"deno\",\n dotnet: \"dotnet\",\n \"dotnet-aspnetcore\": \"dotnet\",\n \"dotnet-aspnet\": \"dotnet\",\n \"dotnet-awslambda\": \"awslambda\",\n \"dotnet-blazor\": \"blazor\",\n \"dotnet-csharp\": \"csharp\",\n \"dotnet-gcpfunctions\": \"gcp-functions\",\n \"dotnet-maui\": \"maui\",\n \"dotnet-uno\": \"uno\",\n \"dotnet-xamarin\": \"xamarin\",\n dotnetcore: \"dotnetcore\",\n dotnetfx: \"dotnetfx\",\n dotnetframework: \"dotnetframework\",\n edge: \"edge\",\n \"edge-legacy\": \"edge-legacy\",\n electron: \"electron\",\n elixir: \"elixir\",\n firefox: \"firefox\",\n flutter: \"flutter\",\n font: \"font\",\n fsharp: \"fsharp\",\n git: \"git\",\n go: \"go\",\n \"go-echo\": \"echo\",\n \"go-fasthttp\": \"fasthttp\",\n \"go-fiber\": \"fiber\",\n \"go-gin\": \"gin\",\n \"go-iris\": \"iris\",\n \"go-martini\": \"martini\",\n \"go-negroni\": \"go\",\n godot: \"godot\",\n huggingface: \"huggingface\",\n \"internet-explorer\": \"internet-explorer\",\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-ray\": \"ray\",\n \"java-spring\": \"spring\",\n \"java-spring-boot\": \"springboot\",\n javascript: \"javascript\",\n \"javascript-alpinejs\": \"alpinejs\",\n \"javascript-analogjs\": \"analogjs\",\n \"javascript-angular\": \"angularjs\",\n \"javascript-angularjs\": \"angularjs\",\n \"javascript-astro\": \"astro\",\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-hono\": \"hono\",\n \"javascript-hydrogen\": \"hydrogen\",\n \"javascript-ionic\": \"ionic\",\n \"javascript-lit\": \"lit\",\n \"javascript-meteor\": \"meteor\",\n \"javascript-million\": \"million\",\n \"javascript-nextjs\": \"nextjs\",\n \"javascript-nuxt\": \"nuxt\",\n \"javascript-opennext\": \"opennext\",\n \"javascript-qwik\": \"qwik\",\n \"javascript-react\": \"react\",\n \"javascript-remix\": \"remix\",\n \"javascript-solid\": \"solid\",\n \"javascript-solidstart\": \"solidstart\",\n \"javascript-svelte\": \"svelte\",\n \"javascript-sveltekit\": \"svelte\",\n \"javascript-vue\": \"vue\",\n \"javascript-wasm\": \"wasm\",\n \"javascript-node\": \"nodejs\",\n \"javascript-awslambda\": \"awslambda\",\n \"javascript-azurefunctions\": \"azure-functions\",\n \"javascript-connect\": \"connect\",\n \"javascript-express\": \"express\",\n \"javascript-fastify\": \"fastify\",\n \"javascript-gcpfunctions\": \"gcp-functions\",\n \"javascript-hapi\": \"hapi\",\n \"javascript-koa\": \"koa\",\n \"javascript-nestjs\": \"nestjs\",\n \"javascript-serverlesscloud\": \"serverless\",\n ionic: \"ionic\",\n kotlin: \"kotlin\",\n \"kotlin-android\": \"android\",\n langchain: \"langchain\",\n linux: \"linux\",\n mono: \"mono\",\n motorola: \"motorola\",\n native: \"nativec\",\n \"native-qt\": \"qt\",\n nintendo: \"nintendo\",\n \"nintendo-switch\": \"nintendo-switch\",\n node: \"nodejs\",\n \"node-awslambda\": \"awslambda\",\n \"node-azurefunctions\": \"azure-functions\",\n \"node-connect\": \"connect\",\n \"node-express\": \"express\",\n \"node-fastify\": \"fastify\",\n \"node-gcpfunctions\": \"gcp-functions\",\n \"node-hapi\": \"hapi\",\n \"node-koa\": \"koa\",\n \"node-nestjs\": \"nestjs\",\n \"node-serverlesscloud\": \"serverless\",\n nvidia: \"nvidia\",\n openai: \"openai\",\n opera: \"opera\",\n perl: \"perl\",\n php: \"php\",\n playstation: \"playstation\",\n powershell: \"powershell\",\n \"php-laravel\": \"laravel\",\n \"php-livewire\": \"livewire\",\n \"php-magento\": \"magento\",\n \"php-monolog\": \"php\",\n \"php-symfony2\": \"symfony\",\n \"php-symfony\": \"symfony\",\n python: \"python\",\n \"python-aiohttp\": \"aiohttp\",\n \"python-airflow\": \"apache-airflow\",\n \"python-ariadne\": \"ariadne\",\n \"python-asyncpg\": \"postgresql\",\n \"python-awslambda\": \"awslambda\",\n \"python-azurefunctions\": \"azure-functions\",\n \"python-beam\": \"apache-beam\",\n \"python-boto3\": \"aws\",\n \"python-bottle\": \"bottle\",\n \"python-celery\": \"celery\",\n \"python-chalice\": \"chalice\",\n \"python-clickhouse-driver\": \"clickhouse\",\n \"python-django\": \"django\",\n \"python-dramatiq\": \"dramatiq\",\n \"python-falcon\": \"falcon\",\n \"python-fastapi\": \"fastapi\",\n \"python-flask\": \"flask\",\n \"python-gcpfunctions\": \"gcp-functions\",\n \"python-gnu_backtrace\": \"gnu\",\n \"python-gql\": \"graphql\",\n \"python-graphene\": \"graphene\",\n \"python-grpc\": \"grpc\",\n \"python-httpx\": \"httpx\",\n \"python-huey\": \"huey\",\n \"python-litestar\": \"litestar\",\n \"python-loguru\": \"loguru\",\n \"python-pylons\": \"python\",\n \"python-pymongo\": \"mongodb\",\n \"python-pyramid\": \"pyramid\",\n \"python-pythonawslambda\": \"awslambda\",\n \"python-quart\": \"quart\",\n \"python-ray\": \"ray\",\n \"python-redis\": \"redis\",\n \"python-rq\": \"redis\",\n \"python-sanic\": \"sanic\",\n \"python-serverless\": \"serverless\",\n \"python-starlette\": \"starlette\",\n \"python-strawberry\": \"strawberry\",\n \"python-spark\": \"apache-spark\",\n \"python-sqlalchemy\": \"sqlalchemy\",\n \"python-tornado\": \"tornado\",\n \"python-tryton\": \"tryton\",\n qq: \"qq\",\n qt: \"qt\",\n \"react-native\": \"react-native\",\n ruby: \"ruby\",\n \"ruby-activeadmin\": \"activeadmin\",\n \"ruby-grape\": \"grape\",\n \"ruby-hanami\": \"hanami\",\n \"ruby-padrino\": \"padrino\",\n \"ruby-rack\": \"ruby\",\n \"ruby-rails\": \"rails\",\n \"ruby-sidekiq\": \"sidekiq\",\n \"ruby-sinatra\": \"sinatra\",\n \"ruby-trailblazer\": \"trailblazer\",\n rust: \"rust\",\n \"rust-actix\": \"actix\",\n safari: \"safari\",\n samsung: \"samsung\",\n scala: \"scala\",\n stride3d: \"stride3d\",\n sql: \"sql\",\n sqlserver: \"sqlserver\",\n swift: \"swift\",\n tauri: \"tauri\",\n ubuntu: \"ubuntu\",\n unity: \"unity\",\n // This will be deprecated in favor of 'unrealengine'\n ue4: \"unreal\",\n unreal: \"unreal\",\n unrealengine: \"unreal\",\n visualbasic: \"visual-basic\",\n vscode: \"vscode\",\n windows: \"windows\",\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 iconPathRaw = require(\n `../${format === \"lg\" ? \"svg_80x80\" : \"svg\"}/${icon}.svg`,\n );\n const iconPath = iconPathRaw?.default ?? iconPathRaw;\n\n const languageIcon = getLanguageIcon(platform);\n const languageIconPathRaw = require(`../svg/${languageIcon}.svg`);\n const languageIconPath = languageIconPathRaw?.default ?? languageIconPathRaw;\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","export { default as PlatformIcon } from \"./platformIcon\";\nexport { preloadIcons } from \"./preload\";\n\nimport { PLATFORM_TO_ICON } from \"./platformIcon\";\nexport const platforms = Object.keys(PLATFORM_TO_ICON); \n"],"names":["PLATFORM_TO_ICON","amazon","amd","android","android-phone","android-tablet","anthropic","apple","apple-ipad","apple-iphone","apple-tv","apple-watch","arm","bun","capacitor","chrome","chromium","clojure","cocoa","cocoa-objc","cocoa-swift","cohere","cordova","cloudflare","cpp","cryengine","crystal","css","csharp","csharp-aspnetcore","dart","default","deno","dotnet","dotnet-aspnetcore","dotnet-aspnet","dotnet-awslambda","dotnet-blazor","dotnet-csharp","dotnet-gcpfunctions","dotnet-maui","dotnet-uno","dotnet-xamarin","dotnetcore","dotnetfx","dotnetframework","edge","edge-legacy","electron","elixir","firefox","flutter","font","fsharp","git","go","go-echo","go-fasthttp","go-fiber","go-gin","go-iris","go-martini","go-negroni","godot","huggingface","internet-explorer","java","java-appengine","java-android","java-log4j","java-log4j2","java-logback","java-logging","java-ray","java-spring","java-spring-boot","javascript","javascript-alpinejs","javascript-analogjs","javascript-angular","javascript-angularjs","javascript-astro","javascript-backbone","javascript-browser","javascript-capacitor","javascript-cordova","javascript-electron","javascript-ember","javascript-gatsby","javascript-hono","javascript-hydrogen","javascript-ionic","javascript-lit","javascript-meteor","javascript-million","javascript-nextjs","javascript-nuxt","javascript-opennext","javascript-qwik","javascript-react","javascript-remix","javascript-solid","javascript-solidstart","javascript-svelte","javascript-sveltekit","javascript-vue","javascript-wasm","javascript-node","javascript-awslambda","javascript-azurefunctions","javascript-connect","javascript-express","javascript-fastify","javascript-gcpfunctions","javascript-hapi","javascript-koa","javascript-nestjs","javascript-serverlesscloud","ionic","kotlin","kotlin-android","langchain","linux","mono","motorola","native","native-qt","nintendo","nintendo-switch","node","node-awslambda","node-azurefunctions","node-connect","node-express","node-fastify","node-gcpfunctions","node-hapi","node-koa","node-nestjs","node-serverlesscloud","nvidia","openai","opera","perl","php","playstation","powershell","php-laravel","php-livewire","php-magento","php-monolog","php-symfony2","php-symfony","python","python-aiohttp","python-airflow","python-ariadne","python-asyncpg","python-awslambda","python-azurefunctions","python-beam","python-boto3","python-bottle","python-celery","python-chalice","python-clickhouse-driver","python-django","python-dramatiq","python-falcon","python-fastapi","python-flask","python-gcpfunctions","python-gnu_backtrace","python-gql","python-graphene","python-grpc","python-httpx","python-huey","python-litestar","python-loguru","python-pylons","python-pymongo","python-pyramid","python-pythonawslambda","python-quart","python-ray","python-redis","python-rq","python-sanic","python-serverless","python-starlette","python-strawberry","python-spark","python-sqlalchemy","python-tornado","python-tryton","qq","qt","react-native","ruby","ruby-activeadmin","ruby-grape","ruby-hanami","ruby-padrino","ruby-rack","ruby-rails","ruby-sidekiq","ruby-sinatra","ruby-trailblazer","rust","rust-actix","safari","samsung","scala","stride3d","sql","sqlserver","swift","tauri","ubuntu","unity","ue4","unreal","unrealengine","visualbasic","vscode","windows","normalizePlatform","platform","replace","getIcon","normalizedPlatform","includes","getLanguageIcon","split","PlatformIcon","size","format","radius","withLanguageIcon","languageIconStyles","style","otherProps","icon","iconPathRaw","require","iconPath","languageIcon","languageIconPathRaw","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","platforms","keys"],"mappings":"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"}
@@ -1,2 +0,0 @@
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={amazon:"amazon",amd:"amd",android:"android","android-phone":"android-phone","android-tablet":"android-tablet",anthropic:"anthropic",apple:"apple","apple-ipad":"apple-ipad","apple-iphone":"apple-iphone","apple-tv":"apple-tv","apple-watch":"apple-watch",arm:"arm",bun:"bun",capacitor:"capacitor",chrome:"chrome",chromium:"chromium",clojure:"clojure",cocoa:"apple","cocoa-objc":"apple","cocoa-swift":"swift",cohere:"cohere",cordova:"cordova",cloudflare:"cloudflare",cpp:"cpp",cryengine:"cryengine",crystal:"crystal",css:"css",csharp:"csharp","csharp-aspnetcore":"csharp",dart:"dart",default:"default",deno:"deno",dotnet:"dotnet","dotnet-aspnetcore":"dotnet","dotnet-aspnet":"dotnet","dotnet-awslambda":"awslambda","dotnet-blazor":"blazor","dotnet-csharp":"csharp","dotnet-gcpfunctions":"gcp-functions","dotnet-maui":"maui","dotnet-uno":"uno","dotnet-xamarin":"xamarin",dotnetcore:"dotnetcore",dotnetfx:"dotnetfx",dotnetframework:"dotnetframework",edge:"edge","edge-legacy":"edge-legacy",electron:"electron",elixir:"elixir",firefox:"firefox",flutter:"flutter",font:"font",fsharp:"fsharp",git:"git",go:"go","go-echo":"echo","go-fasthttp":"fasthttp","go-fiber":"fiber","go-gin":"gin","go-iris":"iris","go-martini":"martini","go-negroni":"go",godot:"godot",huggingface:"huggingface","internet-explorer":"internet-explorer",java:"java","java-appengine":"app-engine","java-android":"android","java-log4j":"java","java-log4j2":"java","java-logback":"logback","java-logging":"java","java-ray":"ray","java-spring":"spring","java-spring-boot":"springboot",javascript:"javascript","javascript-alpinejs":"alpinejs","javascript-analogjs":"analogjs","javascript-angular":"angularjs","javascript-angularjs":"angularjs","javascript-astro":"astro","javascript-backbone":"backbone","javascript-browser":"javascript","javascript-capacitor":"capacitor","javascript-cordova":"cordova","javascript-electron":"electron","javascript-ember":"ember","javascript-gatsby":"gatsby","javascript-hono":"hono","javascript-hydrogen":"hydrogen","javascript-ionic":"ionic","javascript-lit":"lit","javascript-meteor":"meteor","javascript-million":"million","javascript-nextjs":"nextjs","javascript-nuxt":"nuxt","javascript-opennext":"opennext","javascript-qwik":"qwik","javascript-react":"react","javascript-remix":"remix","javascript-solid":"solid","javascript-solidstart":"solidstart","javascript-svelte":"svelte","javascript-sveltekit":"svelte","javascript-vue":"vue","javascript-wasm":"wasm","javascript-node":"nodejs","javascript-awslambda":"awslambda","javascript-azurefunctions":"azure-functions","javascript-connect":"connect","javascript-express":"express","javascript-fastify":"fastify","javascript-gcpfunctions":"gcp-functions","javascript-hapi":"hapi","javascript-koa":"koa","javascript-nestjs":"nestjs","javascript-serverlesscloud":"serverless",ionic:"ionic",kotlin:"kotlin","kotlin-android":"android",langchain:"langchain",linux:"linux",mono:"mono",motorola:"motorola",native:"nativec","native-qt":"qt",nintendo:"nintendo","nintendo-switch":"nintendo-switch",node:"nodejs","node-awslambda":"awslambda","node-azurefunctions":"azure-functions","node-connect":"connect","node-express":"express","node-fastify":"fastify","node-gcpfunctions":"gcp-functions","node-hapi":"hapi","node-koa":"koa","node-nestjs":"nestjs","node-serverlesscloud":"serverless",nvidia:"nvidia",openai:"openai",opera:"opera",perl:"perl",php:"php",playstation:"playstation",powershell:"powershell","php-laravel":"laravel","php-livewire":"livewire","php-magento":"magento","php-monolog":"php","php-symfony2":"symfony","php-symfony":"symfony",python:"python","python-aiohttp":"aiohttp","python-airflow":"apache-airflow","python-ariadne":"ariadne","python-asyncpg":"postgresql","python-awslambda":"awslambda","python-azurefunctions":"azure-functions","python-beam":"apache-beam","python-boto3":"aws","python-bottle":"bottle","python-celery":"celery","python-chalice":"chalice","python-clickhouse-driver":"clickhouse","python-django":"django","python-dramatiq":"dramatiq","python-falcon":"falcon","python-fastapi":"fastapi","python-flask":"flask","python-gcpfunctions":"gcp-functions","python-gnu_backtrace":"gnu","python-gql":"graphql","python-graphene":"graphene","python-grpc":"grpc","python-httpx":"httpx","python-huey":"huey","python-litestar":"litestar","python-loguru":"loguru","python-pylons":"python","python-pymongo":"mongodb","python-pyramid":"pyramid","python-pythonawslambda":"awslambda","python-quart":"quart","python-ray":"ray","python-redis":"redis","python-rq":"redis","python-sanic":"sanic","python-serverless":"serverless","python-starlette":"starlette","python-strawberry":"strawberry","python-spark":"apache-spark","python-sqlalchemy":"sqlalchemy","python-tornado":"tornado","python-tryton":"tryton",qq:"qq",qt:"qt","react-native":"react-native",ruby:"ruby","ruby-activeadmin":"activeadmin","ruby-grape":"grape","ruby-hanami":"hanami","ruby-padrino":"padrino","ruby-rack":"ruby","ruby-rails":"rails","ruby-sidekiq":"sidekiq","ruby-sinatra":"sinatra","ruby-trailblazer":"trailblazer",rust:"rust","rust-actix":"actix",safari:"safari",samsung:"samsung",scala:"scala",stride3d:"stride3d",sql:"sql",sqlserver:"sqlserver",swift:"swift",tauri:"tauri",ubuntu:"ubuntu",unity:"unity",ue4:"unreal",unreal:"unreal",unrealengine:"unreal",visualbasic:"visual-basic",vscode:"vscode",windows:"windows"};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 i=e=>{var n,i;let{platform:s,size:p=20,format:c="sm",radius:l=3,withLanguageIcon:d,languageIconStyles:u={},style:h={}}=e,g=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 y=r(s),v=require(`../${"lg"===c?"svg_80x80":"svg"}/${y}.svg`),m=null!=(n=null==v?void 0:v.default)?n:v,f=o(s),j=require(`../svg/${f}.svg`),b=null!=(i=null==j?void 0:j.default)?i:j;return d&&f!==y&&"default"!==f?a.createElement("div",Object.assign({},g,{style:t({position:"relative"},h)}),a.createElement("img",{src:m,width:p,height:p,style:{borderRadius:l+"px"}}),a.createElement("img",{src:b,style:t({position:"absolute",bottom:"-1px",right:"-1px",height:"30%",width:"30%",borderRadius:"2px"},u)})):a.createElement("img",Object.assign({src:m,width:p,height:p},g,{style:t({borderRadius:l+"px"},h)}))};function s(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}))}const p=Object.keys(e);export{i as PlatformIcon,p as platforms,s as preloadIcons};
2
- //# sourceMappingURL=index.modern.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/platformIcon.tsx","../src/preload.tsx","../src/index.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const PLATFORM_TO_ICON = {\n amazon: \"amazon\",\n amd: \"amd\",\n android: \"android\",\n \"android-phone\": \"android-phone\",\n \"android-tablet\": \"android-tablet\",\n anthropic: \"anthropic\",\n apple: \"apple\",\n \"apple-ipad\": \"apple-ipad\",\n \"apple-iphone\": \"apple-iphone\",\n \"apple-tv\": \"apple-tv\",\n \"apple-watch\": \"apple-watch\",\n arm: \"arm\",\n bun: \"bun\",\n capacitor: \"capacitor\",\n chrome: \"chrome\",\n chromium: \"chromium\",\n clojure: \"clojure\",\n cocoa: \"apple\",\n \"cocoa-objc\": \"apple\",\n \"cocoa-swift\": \"swift\",\n cohere: \"cohere\",\n cordova: \"cordova\",\n cloudflare: \"cloudflare\",\n cpp: \"cpp\",\n cryengine: \"cryengine\",\n crystal: \"crystal\",\n css: \"css\",\n csharp: \"csharp\",\n \"csharp-aspnetcore\": \"csharp\",\n dart: \"dart\",\n default: \"default\",\n deno: \"deno\",\n dotnet: \"dotnet\",\n \"dotnet-aspnetcore\": \"dotnet\",\n \"dotnet-aspnet\": \"dotnet\",\n \"dotnet-awslambda\": \"awslambda\",\n \"dotnet-blazor\": \"blazor\",\n \"dotnet-csharp\": \"csharp\",\n \"dotnet-gcpfunctions\": \"gcp-functions\",\n \"dotnet-maui\": \"maui\",\n \"dotnet-uno\": \"uno\",\n \"dotnet-xamarin\": \"xamarin\",\n dotnetcore: \"dotnetcore\",\n dotnetfx: \"dotnetfx\",\n dotnetframework: \"dotnetframework\",\n edge: \"edge\",\n \"edge-legacy\": \"edge-legacy\",\n electron: \"electron\",\n elixir: \"elixir\",\n firefox: \"firefox\",\n flutter: \"flutter\",\n font: \"font\",\n fsharp: \"fsharp\",\n git: \"git\",\n go: \"go\",\n \"go-echo\": \"echo\",\n \"go-fasthttp\": \"fasthttp\",\n \"go-fiber\": \"fiber\",\n \"go-gin\": \"gin\",\n \"go-iris\": \"iris\",\n \"go-martini\": \"martini\",\n \"go-negroni\": \"go\",\n godot: \"godot\",\n huggingface: \"huggingface\",\n \"internet-explorer\": \"internet-explorer\",\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-ray\": \"ray\",\n \"java-spring\": \"spring\",\n \"java-spring-boot\": \"springboot\",\n javascript: \"javascript\",\n \"javascript-alpinejs\": \"alpinejs\",\n \"javascript-analogjs\": \"analogjs\",\n \"javascript-angular\": \"angularjs\",\n \"javascript-angularjs\": \"angularjs\",\n \"javascript-astro\": \"astro\",\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-hono\": \"hono\",\n \"javascript-hydrogen\": \"hydrogen\",\n \"javascript-ionic\": \"ionic\",\n \"javascript-lit\": \"lit\",\n \"javascript-meteor\": \"meteor\",\n \"javascript-million\": \"million\",\n \"javascript-nextjs\": \"nextjs\",\n \"javascript-nuxt\": \"nuxt\",\n \"javascript-opennext\": \"opennext\",\n \"javascript-qwik\": \"qwik\",\n \"javascript-react\": \"react\",\n \"javascript-remix\": \"remix\",\n \"javascript-solid\": \"solid\",\n \"javascript-solidstart\": \"solidstart\",\n \"javascript-svelte\": \"svelte\",\n \"javascript-sveltekit\": \"svelte\",\n \"javascript-vue\": \"vue\",\n \"javascript-wasm\": \"wasm\",\n \"javascript-node\": \"nodejs\",\n \"javascript-awslambda\": \"awslambda\",\n \"javascript-azurefunctions\": \"azure-functions\",\n \"javascript-connect\": \"connect\",\n \"javascript-express\": \"express\",\n \"javascript-fastify\": \"fastify\",\n \"javascript-gcpfunctions\": \"gcp-functions\",\n \"javascript-hapi\": \"hapi\",\n \"javascript-koa\": \"koa\",\n \"javascript-nestjs\": \"nestjs\",\n \"javascript-serverlesscloud\": \"serverless\",\n ionic: \"ionic\",\n kotlin: \"kotlin\",\n \"kotlin-android\": \"android\",\n langchain: \"langchain\",\n linux: \"linux\",\n mono: \"mono\",\n motorola: \"motorola\",\n native: \"nativec\",\n \"native-qt\": \"qt\",\n nintendo: \"nintendo\",\n \"nintendo-switch\": \"nintendo-switch\",\n node: \"nodejs\",\n \"node-awslambda\": \"awslambda\",\n \"node-azurefunctions\": \"azure-functions\",\n \"node-connect\": \"connect\",\n \"node-express\": \"express\",\n \"node-fastify\": \"fastify\",\n \"node-gcpfunctions\": \"gcp-functions\",\n \"node-hapi\": \"hapi\",\n \"node-koa\": \"koa\",\n \"node-nestjs\": \"nestjs\",\n \"node-serverlesscloud\": \"serverless\",\n nvidia: \"nvidia\",\n openai: \"openai\",\n opera: \"opera\",\n perl: \"perl\",\n php: \"php\",\n playstation: \"playstation\",\n powershell: \"powershell\",\n \"php-laravel\": \"laravel\",\n \"php-livewire\": \"livewire\",\n \"php-magento\": \"magento\",\n \"php-monolog\": \"php\",\n \"php-symfony2\": \"symfony\",\n \"php-symfony\": \"symfony\",\n python: \"python\",\n \"python-aiohttp\": \"aiohttp\",\n \"python-airflow\": \"apache-airflow\",\n \"python-ariadne\": \"ariadne\",\n \"python-asyncpg\": \"postgresql\",\n \"python-awslambda\": \"awslambda\",\n \"python-azurefunctions\": \"azure-functions\",\n \"python-beam\": \"apache-beam\",\n \"python-boto3\": \"aws\",\n \"python-bottle\": \"bottle\",\n \"python-celery\": \"celery\",\n \"python-chalice\": \"chalice\",\n \"python-clickhouse-driver\": \"clickhouse\",\n \"python-django\": \"django\",\n \"python-dramatiq\": \"dramatiq\",\n \"python-falcon\": \"falcon\",\n \"python-fastapi\": \"fastapi\",\n \"python-flask\": \"flask\",\n \"python-gcpfunctions\": \"gcp-functions\",\n \"python-gnu_backtrace\": \"gnu\",\n \"python-gql\": \"graphql\",\n \"python-graphene\": \"graphene\",\n \"python-grpc\": \"grpc\",\n \"python-httpx\": \"httpx\",\n \"python-huey\": \"huey\",\n \"python-litestar\": \"litestar\",\n \"python-loguru\": \"loguru\",\n \"python-pylons\": \"python\",\n \"python-pymongo\": \"mongodb\",\n \"python-pyramid\": \"pyramid\",\n \"python-pythonawslambda\": \"awslambda\",\n \"python-quart\": \"quart\",\n \"python-ray\": \"ray\",\n \"python-redis\": \"redis\",\n \"python-rq\": \"redis\",\n \"python-sanic\": \"sanic\",\n \"python-serverless\": \"serverless\",\n \"python-starlette\": \"starlette\",\n \"python-strawberry\": \"strawberry\",\n \"python-spark\": \"apache-spark\",\n \"python-sqlalchemy\": \"sqlalchemy\",\n \"python-tornado\": \"tornado\",\n \"python-tryton\": \"tryton\",\n qq: \"qq\",\n qt: \"qt\",\n \"react-native\": \"react-native\",\n ruby: \"ruby\",\n \"ruby-activeadmin\": \"activeadmin\",\n \"ruby-grape\": \"grape\",\n \"ruby-hanami\": \"hanami\",\n \"ruby-padrino\": \"padrino\",\n \"ruby-rack\": \"ruby\",\n \"ruby-rails\": \"rails\",\n \"ruby-sidekiq\": \"sidekiq\",\n \"ruby-sinatra\": \"sinatra\",\n \"ruby-trailblazer\": \"trailblazer\",\n rust: \"rust\",\n \"rust-actix\": \"actix\",\n safari: \"safari\",\n samsung: \"samsung\",\n scala: \"scala\",\n stride3d: \"stride3d\",\n sql: \"sql\",\n sqlserver: \"sqlserver\",\n swift: \"swift\",\n tauri: \"tauri\",\n ubuntu: \"ubuntu\",\n unity: \"unity\",\n // This will be deprecated in favor of 'unrealengine'\n ue4: \"unreal\",\n unreal: \"unreal\",\n unrealengine: \"unreal\",\n visualbasic: \"visual-basic\",\n vscode: \"vscode\",\n windows: \"windows\",\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 iconPathRaw = require(\n `../${format === \"lg\" ? \"svg_80x80\" : \"svg\"}/${icon}.svg`,\n );\n const iconPath = iconPathRaw?.default ?? iconPathRaw;\n\n const languageIcon = getLanguageIcon(platform);\n const languageIconPathRaw = require(`../svg/${languageIcon}.svg`);\n const languageIconPath = languageIconPathRaw?.default ?? languageIconPathRaw;\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","export { default as PlatformIcon } from \"./platformIcon\";\nexport { preloadIcons } from \"./preload\";\n\nimport { PLATFORM_TO_ICON } from \"./platformIcon\";\nexport const platforms = Object.keys(PLATFORM_TO_ICON); \n"],"names":["PLATFORM_TO_ICON","amazon","amd","android","android-phone","android-tablet","anthropic","apple","apple-ipad","apple-iphone","apple-tv","apple-watch","arm","bun","capacitor","chrome","chromium","clojure","cocoa","cocoa-objc","cocoa-swift","cohere","cordova","cloudflare","cpp","cryengine","crystal","css","csharp","csharp-aspnetcore","dart","default","deno","dotnet","dotnet-aspnetcore","dotnet-aspnet","dotnet-awslambda","dotnet-blazor","dotnet-csharp","dotnet-gcpfunctions","dotnet-maui","dotnet-uno","dotnet-xamarin","dotnetcore","dotnetfx","dotnetframework","edge","edge-legacy","electron","elixir","firefox","flutter","font","fsharp","git","go","go-echo","go-fasthttp","go-fiber","go-gin","go-iris","go-martini","go-negroni","godot","huggingface","internet-explorer","java","java-appengine","java-android","java-log4j","java-log4j2","java-logback","java-logging","java-ray","java-spring","java-spring-boot","javascript","javascript-alpinejs","javascript-analogjs","javascript-angular","javascript-angularjs","javascript-astro","javascript-backbone","javascript-browser","javascript-capacitor","javascript-cordova","javascript-electron","javascript-ember","javascript-gatsby","javascript-hono","javascript-hydrogen","javascript-ionic","javascript-lit","javascript-meteor","javascript-million","javascript-nextjs","javascript-nuxt","javascript-opennext","javascript-qwik","javascript-react","javascript-remix","javascript-solid","javascript-solidstart","javascript-svelte","javascript-sveltekit","javascript-vue","javascript-wasm","javascript-node","javascript-awslambda","javascript-azurefunctions","javascript-connect","javascript-express","javascript-fastify","javascript-gcpfunctions","javascript-hapi","javascript-koa","javascript-nestjs","javascript-serverlesscloud","ionic","kotlin","kotlin-android","langchain","linux","mono","motorola","native","native-qt","nintendo","nintendo-switch","node","node-awslambda","node-azurefunctions","node-connect","node-express","node-fastify","node-gcpfunctions","node-hapi","node-koa","node-nestjs","node-serverlesscloud","nvidia","openai","opera","perl","php","playstation","powershell","php-laravel","php-livewire","php-magento","php-monolog","php-symfony2","php-symfony","python","python-aiohttp","python-airflow","python-ariadne","python-asyncpg","python-awslambda","python-azurefunctions","python-beam","python-boto3","python-bottle","python-celery","python-chalice","python-clickhouse-driver","python-django","python-dramatiq","python-falcon","python-fastapi","python-flask","python-gcpfunctions","python-gnu_backtrace","python-gql","python-graphene","python-grpc","python-httpx","python-huey","python-litestar","python-loguru","python-pylons","python-pymongo","python-pyramid","python-pythonawslambda","python-quart","python-ray","python-redis","python-rq","python-sanic","python-serverless","python-starlette","python-strawberry","python-spark","python-sqlalchemy","python-tornado","python-tryton","qq","qt","react-native","ruby","ruby-activeadmin","ruby-grape","ruby-hanami","ruby-padrino","ruby-rack","ruby-rails","ruby-sidekiq","ruby-sinatra","ruby-trailblazer","rust","rust-actix","safari","samsung","scala","stride3d","sql","sqlserver","swift","tauri","ubuntu","unity","ue4","unreal","unrealengine","visualbasic","vscode","windows","normalizePlatform","platform","replace","getIcon","normalizedPlatform","includes","getLanguageIcon","language","split","PlatformIcon","size","format","radius","withLanguageIcon","languageIconStyles","style","otherProps","icon","iconPathRaw","require","iconPath","languageIcon","languageIconPathRaw","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","platforms","keys"],"mappings":"0OAEaA,EAAmB,CAC9BC,OAAQ,SACRC,IAAK,MACLC,QAAS,UACTC,gBAAiB,gBACjBC,iBAAkB,iBAClBC,UAAW,YACXC,MAAO,QACPC,aAAc,aACdC,eAAgB,eAChBC,WAAY,WACZC,cAAe,cACfC,IAAK,MACLC,IAAK,MACLC,UAAW,YACXC,OAAQ,SACRC,SAAU,WACVC,QAAS,UACTC,MAAO,QACPC,aAAc,QACdC,cAAe,QACfC,OAAQ,SACRC,QAAS,UACTC,WAAY,aACZC,IAAK,MACLC,UAAW,YACXC,QAAS,UACTC,IAAK,MACLC,OAAQ,SACRC,oBAAqB,SACrBC,KAAM,OACNC,QAAS,UACTC,KAAM,OACNC,OAAQ,SACRC,oBAAqB,SACrBC,gBAAiB,SACjBC,mBAAoB,YACpBC,gBAAiB,SACjBC,gBAAiB,SACjBC,sBAAuB,gBACvBC,cAAe,OACfC,aAAc,MACdC,iBAAkB,UAClBC,WAAY,aACZC,SAAU,WACVC,gBAAiB,kBACjBC,KAAM,OACNC,cAAe,cACfC,SAAU,WACVC,OAAQ,SACRC,QAAS,UACTC,QAAS,UACTC,KAAM,OACNC,OAAQ,SACRC,IAAK,MACLC,GAAI,KACJC,UAAW,OACXC,cAAe,WACfC,WAAY,QACZC,SAAU,MACVC,UAAW,OACXC,aAAc,UACdC,aAAc,KACdC,MAAO,QACPC,YAAa,cACbC,oBAAqB,oBACrBC,KAAM,OACNC,iBAAkB,aAClBC,eAAgB,UAChBC,aAAc,OACdC,cAAe,OACfC,eAAgB,UAChBC,eAAgB,OAChBC,WAAY,MACZC,cAAe,SACfC,mBAAoB,aACpBC,WAAY,aACZC,sBAAuB,WACvBC,sBAAuB,WACvBC,qBAAsB,YACtBC,uBAAwB,YACxBC,mBAAoB,QACpBC,sBAAuB,WACvBC,qBAAsB,aACtBC,uBAAwB,YACxBC,qBAAsB,UACtBC,sBAAuB,WACvBC,mBAAoB,QACpBC,oBAAqB,SACrBC,kBAAmB,OACnBC,sBAAuB,WACvBC,mBAAoB,QACpBC,iBAAkB,MAClBC,oBAAqB,SACrBC,qBAAsB,UACtBC,oBAAqB,SACrBC,kBAAmB,OACnBC,sBAAuB,WACvBC,kBAAmB,OACnBC,mBAAoB,QACpBC,mBAAoB,QACpBC,mBAAoB,QACpBC,wBAAyB,aACzBC,oBAAqB,SACrBC,uBAAwB,SACxBC,iBAAkB,MAClBC,kBAAmB,OACnBC,kBAAmB,SACnBC,uBAAwB,YACxBC,4BAA6B,kBAC7BC,qBAAsB,UACtBC,qBAAsB,UACtBC,qBAAsB,UACtBC,0BAA2B,gBAC3BC,kBAAmB,OACnBC,iBAAkB,MAClBC,oBAAqB,SACrBC,6BAA8B,aAC9BC,MAAO,QACPC,OAAQ,SACRC,iBAAkB,UAClBC,UAAW,YACXC,MAAO,QACPC,KAAM,OACNC,SAAU,WACVC,OAAQ,UACRC,YAAa,KACbC,SAAU,WACVC,kBAAmB,kBACnBC,KAAM,SACNC,iBAAkB,YAClBC,sBAAuB,kBACvBC,eAAgB,UAChBC,eAAgB,UAChBC,eAAgB,UAChBC,oBAAqB,gBACrBC,YAAa,OACbC,WAAY,MACZC,cAAe,SACfC,uBAAwB,aACxBC,OAAQ,SACRC,OAAQ,SACRC,MAAO,QACPC,KAAM,OACNC,IAAK,MACLC,YAAa,cACbC,WAAY,aACZC,cAAe,UACfC,eAAgB,WAChBC,cAAe,UACfC,cAAe,MACfC,eAAgB,UAChBC,cAAe,UACfC,OAAQ,SACRC,iBAAkB,UAClBC,iBAAkB,iBAClBC,iBAAkB,UAClBC,iBAAkB,aAClBC,mBAAoB,YACpBC,wBAAyB,kBACzBC,cAAe,cACfC,eAAgB,MAChBC,gBAAiB,SACjBC,gBAAiB,SACjBC,iBAAkB,UAClBC,2BAA4B,aAC5BC,gBAAiB,SACjBC,kBAAmB,WACnBC,gBAAiB,SACjBC,iBAAkB,UAClBC,eAAgB,QAChBC,sBAAuB,gBACvBC,uBAAwB,MACxBC,aAAc,UACdC,kBAAmB,WACnBC,cAAe,OACfC,eAAgB,QAChBC,cAAe,OACfC,kBAAmB,WACnBC,gBAAiB,SACjBC,gBAAiB,SACjBC,iBAAkB,UAClBC,iBAAkB,UAClBC,yBAA0B,YAC1BC,eAAgB,QAChBC,aAAc,MACdC,eAAgB,QAChBC,YAAa,QACbC,eAAgB,QAChBC,oBAAqB,aACrBC,mBAAoB,YACpBC,oBAAqB,aACrBC,eAAgB,eAChBC,oBAAqB,aACrBC,iBAAkB,UAClBC,gBAAiB,SACjBC,GAAI,KACJC,GAAI,KACJC,eAAgB,eAChBC,KAAM,OACNC,mBAAoB,cACpBC,aAAc,QACdC,cAAe,SACfC,eAAgB,UAChBC,YAAa,OACbC,aAAc,QACdC,eAAgB,UAChBC,eAAgB,UAChBC,mBAAoB,cACpBC,KAAM,OACNC,aAAc,QACdC,OAAQ,SACRC,QAAS,UACTC,MAAO,QACPC,SAAU,WACVC,IAAK,MACLC,UAAW,YACXC,MAAO,QACPC,MAAO,QACPC,OAAQ,SACRC,MAAO,QAEPC,IAAK,SACLC,OAAQ,SACRC,aAAc,SACdC,YAAa,eACbC,OAAQ,SACRC,QAAS,WAKX,SAASC,EAAkBC,GAGzB,OAAOA,EAASC,QAAQ,IAAK,KAG/B,SAASC,EAAQF,GACf,MAAMG,EAAqBJ,EAAkBC,GAG7C,OAFapO,EAAiBuO,KAM1BA,EAAmBC,SAAS,KACvBC,EAAgBF,GAGlB,WAGT,SAASE,EAAgBL,GACvB,MAAOM,GAAYP,EAAkBC,GAAUO,MAAM,KAErD,OAAOL,EAAQI,GAcjB,MAAME,kBAAgBR,SACpBA,EADoBS,KAEpBA,EAAO,GAFaC,OAGpBA,EAAS,KAHWC,OAIpBA,EAAS,EAJWC,iBAKpBA,EALoBC,mBAMpBA,EAAqB,GANDC,MAOpBA,EAAQ,MACLC,8NAEH,MAAMC,EAAOd,EAAQF,GACfiB,EAAcC,cACD,OAAXR,EAAkB,YAAc,SAASM,SAE3CG,iBAAWF,SAAAA,EAAatN,WAAWsN,EAEnCG,EAAef,EAAgBL,GAC/BqB,EAAsBH,kBAAkBE,SACxCE,iBAAmBD,SAAAA,EAAqB1N,WAAW0N,EAEzD,OAAIT,GAAoBQ,IAAiBJ,GAAyB,YAAjBI,EAE7CG,uCAASR,GAAYD,SAASU,SAAU,YAAeV,KACrDS,uBACEE,IAAKN,EACLO,MAAOjB,EACPkB,OAAQlB,EACRK,MAAO,CAAEc,aAAiBjB,UAE5BY,uBACEE,IAAKH,EACLR,SACEU,SAAU,WACVK,OAAQ,OACRC,MAAO,OACPH,OAAQ,MACRD,MAAO,MACPE,aAAc,OACXf,MAQXU,qCACEE,IAAKN,EACLO,MAAOjB,EACPkB,OAAQlB,GACJM,GACJD,SAASc,aAAiBjB,QAAeG,gBC5T/BiB,EAAarB,SAC3B,MAEMsB,GAFUtB,EAAS,CAACA,GAAU,CAAC,KAAM,OAGxCuB,IAAKC,GACJC,OAAOC,OAAOxQ,GAAkBqQ,IAAKjB,GACnCE,cAAoB,OAANgB,EAAa,YAAc,SAASlB,WAGrDqB,gBAEHC,SAASC,cAAc,YAASC,UAC3BR,EAAMC,IAAKQ,IACZ,MAAMC,EAAOJ,SAASK,cAAc,QAIpC,OAHAD,EAAKE,IAAM,UACXF,EAAKG,GAAK,QACVH,EAAKI,KAAOL,EACLC,WCpBAK,EAAYZ,OAAOa,KAAKpR"}
@@ -1,2 +0,0 @@
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={amazon:"amazon",amd:"amd",android:"android","android-phone":"android-phone","android-tablet":"android-tablet",anthropic:"anthropic",apple:"apple","apple-ipad":"apple-ipad","apple-iphone":"apple-iphone","apple-tv":"apple-tv","apple-watch":"apple-watch",arm:"arm",bun:"bun",capacitor:"capacitor",chrome:"chrome",chromium:"chromium",clojure:"clojure",cocoa:"apple","cocoa-objc":"apple","cocoa-swift":"swift",cohere:"cohere",cordova:"cordova",cloudflare:"cloudflare",cpp:"cpp",cryengine:"cryengine",crystal:"crystal",css:"css",csharp:"csharp","csharp-aspnetcore":"csharp",dart:"dart",default:"default",deno:"deno",dotnet:"dotnet","dotnet-aspnetcore":"dotnet","dotnet-aspnet":"dotnet","dotnet-awslambda":"awslambda","dotnet-blazor":"blazor","dotnet-csharp":"csharp","dotnet-gcpfunctions":"gcp-functions","dotnet-maui":"maui","dotnet-uno":"uno","dotnet-xamarin":"xamarin",dotnetcore:"dotnetcore",dotnetfx:"dotnetfx",dotnetframework:"dotnetframework",edge:"edge","edge-legacy":"edge-legacy",electron:"electron",elixir:"elixir",firefox:"firefox",flutter:"flutter",font:"font",fsharp:"fsharp",git:"git",go:"go","go-echo":"echo","go-fasthttp":"fasthttp","go-fiber":"fiber","go-gin":"gin","go-iris":"iris","go-martini":"martini","go-negroni":"go",godot:"godot",huggingface:"huggingface","internet-explorer":"internet-explorer",java:"java","java-appengine":"app-engine","java-android":"android","java-log4j":"java","java-log4j2":"java","java-logback":"logback","java-logging":"java","java-ray":"ray","java-spring":"spring","java-spring-boot":"springboot",javascript:"javascript","javascript-alpinejs":"alpinejs","javascript-analogjs":"analogjs","javascript-angular":"angularjs","javascript-angularjs":"angularjs","javascript-astro":"astro","javascript-backbone":"backbone","javascript-browser":"javascript","javascript-capacitor":"capacitor","javascript-cordova":"cordova","javascript-electron":"electron","javascript-ember":"ember","javascript-gatsby":"gatsby","javascript-hono":"hono","javascript-hydrogen":"hydrogen","javascript-ionic":"ionic","javascript-lit":"lit","javascript-meteor":"meteor","javascript-million":"million","javascript-nextjs":"nextjs","javascript-nuxt":"nuxt","javascript-opennext":"opennext","javascript-qwik":"qwik","javascript-react":"react","javascript-remix":"remix","javascript-solid":"solid","javascript-solidstart":"solidstart","javascript-svelte":"svelte","javascript-sveltekit":"svelte","javascript-vue":"vue","javascript-wasm":"wasm","javascript-node":"nodejs","javascript-awslambda":"awslambda","javascript-azurefunctions":"azure-functions","javascript-connect":"connect","javascript-express":"express","javascript-fastify":"fastify","javascript-gcpfunctions":"gcp-functions","javascript-hapi":"hapi","javascript-koa":"koa","javascript-nestjs":"nestjs","javascript-serverlesscloud":"serverless",ionic:"ionic",kotlin:"kotlin","kotlin-android":"android",langchain:"langchain",linux:"linux",mono:"mono",motorola:"motorola",native:"nativec","native-qt":"qt",nintendo:"nintendo","nintendo-switch":"nintendo-switch",node:"nodejs","node-awslambda":"awslambda","node-azurefunctions":"azure-functions","node-connect":"connect","node-express":"express","node-fastify":"fastify","node-gcpfunctions":"gcp-functions","node-hapi":"hapi","node-koa":"koa","node-nestjs":"nestjs","node-serverlesscloud":"serverless",nvidia:"nvidia",openai:"openai",opera:"opera",perl:"perl",php:"php",playstation:"playstation",powershell:"powershell","php-laravel":"laravel","php-livewire":"livewire","php-magento":"magento","php-monolog":"php","php-symfony2":"symfony","php-symfony":"symfony",python:"python","python-aiohttp":"aiohttp","python-airflow":"apache-airflow","python-ariadne":"ariadne","python-asyncpg":"postgresql","python-awslambda":"awslambda","python-azurefunctions":"azure-functions","python-beam":"apache-beam","python-boto3":"aws","python-bottle":"bottle","python-celery":"celery","python-chalice":"chalice","python-clickhouse-driver":"clickhouse","python-django":"django","python-dramatiq":"dramatiq","python-falcon":"falcon","python-fastapi":"fastapi","python-flask":"flask","python-gcpfunctions":"gcp-functions","python-gnu_backtrace":"gnu","python-gql":"graphql","python-graphene":"graphene","python-grpc":"grpc","python-httpx":"httpx","python-huey":"huey","python-litestar":"litestar","python-loguru":"loguru","python-pylons":"python","python-pymongo":"mongodb","python-pyramid":"pyramid","python-pythonawslambda":"awslambda","python-quart":"quart","python-ray":"ray","python-redis":"redis","python-rq":"redis","python-sanic":"sanic","python-serverless":"serverless","python-starlette":"starlette","python-strawberry":"strawberry","python-spark":"apache-spark","python-sqlalchemy":"sqlalchemy","python-tornado":"tornado","python-tryton":"tryton",qq:"qq",qt:"qt","react-native":"react-native",ruby:"ruby","ruby-activeadmin":"activeadmin","ruby-grape":"grape","ruby-hanami":"hanami","ruby-padrino":"padrino","ruby-rack":"ruby","ruby-rails":"rails","ruby-sidekiq":"sidekiq","ruby-sinatra":"sinatra","ruby-trailblazer":"trailblazer",rust:"rust","rust-actix":"actix",safari:"safari",samsung:"samsung",scala:"scala",stride3d:"stride3d",sql:"sql",sqlserver:"sqlserver",swift:"swift",tauri:"tauri",ubuntu:"ubuntu",unity:"unity",ue4:"unreal",unreal:"unreal",unrealengine:"unreal",visualbasic:"visual-basic",vscode:"vscode",windows:"windows"};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])}var s=Object.keys(n);a.PlatformIcon=function(a){var n,r,s=a.platform,p=a.size,c=void 0===p?20:p,l=a.format,d=void 0===l?"sm":l,u=a.radius,h=void 0===u?3:u,v=a.withLanguageIcon,y=a.languageIconStyles,g=void 0===y?{}:y,f=a.style,m=void 0===f?{}:f,j=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"]),b=o(s),w=require("../"+("lg"===d?"svg_80x80":"svg")+"/"+b+".svg"),x=null!=(n=null==w?void 0:w.default)?n:w,q=i(s),k=require("../svg/"+q+".svg"),z=null!=(r=null==k?void 0:k.default)?r:k;return v&&q!==b&&"default"!==q?t.createElement("div",Object.assign({},j,{style:e({position:"relative"},m)}),t.createElement("img",{src:x,width:c,height:c,style:{borderRadius:h+"px"}}),t.createElement("img",{src:z,style:e({position:"absolute",bottom:"-1px",right:"-1px",height:"30%",width:"30%",borderRadius:"2px"},g)})):t.createElement("img",Object.assign({src:x,width:c,height:c},j,{style:e({borderRadius:h+"px"},m)}))},a.platforms=s,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
- //# sourceMappingURL=index.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/platformIcon.tsx","../src/index.tsx","../src/preload.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const PLATFORM_TO_ICON = {\n amazon: \"amazon\",\n amd: \"amd\",\n android: \"android\",\n \"android-phone\": \"android-phone\",\n \"android-tablet\": \"android-tablet\",\n anthropic: \"anthropic\",\n apple: \"apple\",\n \"apple-ipad\": \"apple-ipad\",\n \"apple-iphone\": \"apple-iphone\",\n \"apple-tv\": \"apple-tv\",\n \"apple-watch\": \"apple-watch\",\n arm: \"arm\",\n bun: \"bun\",\n capacitor: \"capacitor\",\n chrome: \"chrome\",\n chromium: \"chromium\",\n clojure: \"clojure\",\n cocoa: \"apple\",\n \"cocoa-objc\": \"apple\",\n \"cocoa-swift\": \"swift\",\n cohere: \"cohere\",\n cordova: \"cordova\",\n cloudflare: \"cloudflare\",\n cpp: \"cpp\",\n cryengine: \"cryengine\",\n crystal: \"crystal\",\n css: \"css\",\n csharp: \"csharp\",\n \"csharp-aspnetcore\": \"csharp\",\n dart: \"dart\",\n default: \"default\",\n deno: \"deno\",\n dotnet: \"dotnet\",\n \"dotnet-aspnetcore\": \"dotnet\",\n \"dotnet-aspnet\": \"dotnet\",\n \"dotnet-awslambda\": \"awslambda\",\n \"dotnet-blazor\": \"blazor\",\n \"dotnet-csharp\": \"csharp\",\n \"dotnet-gcpfunctions\": \"gcp-functions\",\n \"dotnet-maui\": \"maui\",\n \"dotnet-uno\": \"uno\",\n \"dotnet-xamarin\": \"xamarin\",\n dotnetcore: \"dotnetcore\",\n dotnetfx: \"dotnetfx\",\n dotnetframework: \"dotnetframework\",\n edge: \"edge\",\n \"edge-legacy\": \"edge-legacy\",\n electron: \"electron\",\n elixir: \"elixir\",\n firefox: \"firefox\",\n flutter: \"flutter\",\n font: \"font\",\n fsharp: \"fsharp\",\n git: \"git\",\n go: \"go\",\n \"go-echo\": \"echo\",\n \"go-fasthttp\": \"fasthttp\",\n \"go-fiber\": \"fiber\",\n \"go-gin\": \"gin\",\n \"go-iris\": \"iris\",\n \"go-martini\": \"martini\",\n \"go-negroni\": \"go\",\n godot: \"godot\",\n huggingface: \"huggingface\",\n \"internet-explorer\": \"internet-explorer\",\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-ray\": \"ray\",\n \"java-spring\": \"spring\",\n \"java-spring-boot\": \"springboot\",\n javascript: \"javascript\",\n \"javascript-alpinejs\": \"alpinejs\",\n \"javascript-analogjs\": \"analogjs\",\n \"javascript-angular\": \"angularjs\",\n \"javascript-angularjs\": \"angularjs\",\n \"javascript-astro\": \"astro\",\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-hono\": \"hono\",\n \"javascript-hydrogen\": \"hydrogen\",\n \"javascript-ionic\": \"ionic\",\n \"javascript-lit\": \"lit\",\n \"javascript-meteor\": \"meteor\",\n \"javascript-million\": \"million\",\n \"javascript-nextjs\": \"nextjs\",\n \"javascript-nuxt\": \"nuxt\",\n \"javascript-opennext\": \"opennext\",\n \"javascript-qwik\": \"qwik\",\n \"javascript-react\": \"react\",\n \"javascript-remix\": \"remix\",\n \"javascript-solid\": \"solid\",\n \"javascript-solidstart\": \"solidstart\",\n \"javascript-svelte\": \"svelte\",\n \"javascript-sveltekit\": \"svelte\",\n \"javascript-vue\": \"vue\",\n \"javascript-wasm\": \"wasm\",\n \"javascript-node\": \"nodejs\",\n \"javascript-awslambda\": \"awslambda\",\n \"javascript-azurefunctions\": \"azure-functions\",\n \"javascript-connect\": \"connect\",\n \"javascript-express\": \"express\",\n \"javascript-fastify\": \"fastify\",\n \"javascript-gcpfunctions\": \"gcp-functions\",\n \"javascript-hapi\": \"hapi\",\n \"javascript-koa\": \"koa\",\n \"javascript-nestjs\": \"nestjs\",\n \"javascript-serverlesscloud\": \"serverless\",\n ionic: \"ionic\",\n kotlin: \"kotlin\",\n \"kotlin-android\": \"android\",\n langchain: \"langchain\",\n linux: \"linux\",\n mono: \"mono\",\n motorola: \"motorola\",\n native: \"nativec\",\n \"native-qt\": \"qt\",\n nintendo: \"nintendo\",\n \"nintendo-switch\": \"nintendo-switch\",\n node: \"nodejs\",\n \"node-awslambda\": \"awslambda\",\n \"node-azurefunctions\": \"azure-functions\",\n \"node-connect\": \"connect\",\n \"node-express\": \"express\",\n \"node-fastify\": \"fastify\",\n \"node-gcpfunctions\": \"gcp-functions\",\n \"node-hapi\": \"hapi\",\n \"node-koa\": \"koa\",\n \"node-nestjs\": \"nestjs\",\n \"node-serverlesscloud\": \"serverless\",\n nvidia: \"nvidia\",\n openai: \"openai\",\n opera: \"opera\",\n perl: \"perl\",\n php: \"php\",\n playstation: \"playstation\",\n powershell: \"powershell\",\n \"php-laravel\": \"laravel\",\n \"php-livewire\": \"livewire\",\n \"php-magento\": \"magento\",\n \"php-monolog\": \"php\",\n \"php-symfony2\": \"symfony\",\n \"php-symfony\": \"symfony\",\n python: \"python\",\n \"python-aiohttp\": \"aiohttp\",\n \"python-airflow\": \"apache-airflow\",\n \"python-ariadne\": \"ariadne\",\n \"python-asyncpg\": \"postgresql\",\n \"python-awslambda\": \"awslambda\",\n \"python-azurefunctions\": \"azure-functions\",\n \"python-beam\": \"apache-beam\",\n \"python-boto3\": \"aws\",\n \"python-bottle\": \"bottle\",\n \"python-celery\": \"celery\",\n \"python-chalice\": \"chalice\",\n \"python-clickhouse-driver\": \"clickhouse\",\n \"python-django\": \"django\",\n \"python-dramatiq\": \"dramatiq\",\n \"python-falcon\": \"falcon\",\n \"python-fastapi\": \"fastapi\",\n \"python-flask\": \"flask\",\n \"python-gcpfunctions\": \"gcp-functions\",\n \"python-gnu_backtrace\": \"gnu\",\n \"python-gql\": \"graphql\",\n \"python-graphene\": \"graphene\",\n \"python-grpc\": \"grpc\",\n \"python-httpx\": \"httpx\",\n \"python-huey\": \"huey\",\n \"python-litestar\": \"litestar\",\n \"python-loguru\": \"loguru\",\n \"python-pylons\": \"python\",\n \"python-pymongo\": \"mongodb\",\n \"python-pyramid\": \"pyramid\",\n \"python-pythonawslambda\": \"awslambda\",\n \"python-quart\": \"quart\",\n \"python-ray\": \"ray\",\n \"python-redis\": \"redis\",\n \"python-rq\": \"redis\",\n \"python-sanic\": \"sanic\",\n \"python-serverless\": \"serverless\",\n \"python-starlette\": \"starlette\",\n \"python-strawberry\": \"strawberry\",\n \"python-spark\": \"apache-spark\",\n \"python-sqlalchemy\": \"sqlalchemy\",\n \"python-tornado\": \"tornado\",\n \"python-tryton\": \"tryton\",\n qq: \"qq\",\n qt: \"qt\",\n \"react-native\": \"react-native\",\n ruby: \"ruby\",\n \"ruby-activeadmin\": \"activeadmin\",\n \"ruby-grape\": \"grape\",\n \"ruby-hanami\": \"hanami\",\n \"ruby-padrino\": \"padrino\",\n \"ruby-rack\": \"ruby\",\n \"ruby-rails\": \"rails\",\n \"ruby-sidekiq\": \"sidekiq\",\n \"ruby-sinatra\": \"sinatra\",\n \"ruby-trailblazer\": \"trailblazer\",\n rust: \"rust\",\n \"rust-actix\": \"actix\",\n safari: \"safari\",\n samsung: \"samsung\",\n scala: \"scala\",\n stride3d: \"stride3d\",\n sql: \"sql\",\n sqlserver: \"sqlserver\",\n swift: \"swift\",\n tauri: \"tauri\",\n ubuntu: \"ubuntu\",\n unity: \"unity\",\n // This will be deprecated in favor of 'unrealengine'\n ue4: \"unreal\",\n unreal: \"unreal\",\n unrealengine: \"unreal\",\n visualbasic: \"visual-basic\",\n vscode: \"vscode\",\n windows: \"windows\",\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 iconPathRaw = require(\n `../${format === \"lg\" ? \"svg_80x80\" : \"svg\"}/${icon}.svg`,\n );\n const iconPath = iconPathRaw?.default ?? iconPathRaw;\n\n const languageIcon = getLanguageIcon(platform);\n const languageIconPathRaw = require(`../svg/${languageIcon}.svg`);\n const languageIconPath = languageIconPathRaw?.default ?? languageIconPathRaw;\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","export { default as PlatformIcon } from \"./platformIcon\";\nexport { preloadIcons } from \"./preload\";\n\nimport { PLATFORM_TO_ICON } from \"./platformIcon\";\nexport const platforms = Object.keys(PLATFORM_TO_ICON); \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","amazon","amd","android","android-phone","android-tablet","anthropic","apple","apple-ipad","apple-iphone","apple-tv","apple-watch","arm","bun","capacitor","chrome","chromium","clojure","cocoa","cocoa-objc","cocoa-swift","cohere","cordova","cloudflare","cpp","cryengine","crystal","css","csharp","csharp-aspnetcore","dart","default","deno","dotnet","dotnet-aspnetcore","dotnet-aspnet","dotnet-awslambda","dotnet-blazor","dotnet-csharp","dotnet-gcpfunctions","dotnet-maui","dotnet-uno","dotnet-xamarin","dotnetcore","dotnetfx","dotnetframework","edge","edge-legacy","electron","elixir","firefox","flutter","font","fsharp","git","go","go-echo","go-fasthttp","go-fiber","go-gin","go-iris","go-martini","go-negroni","godot","huggingface","internet-explorer","java","java-appengine","java-android","java-log4j","java-log4j2","java-logback","java-logging","java-ray","java-spring","java-spring-boot","javascript","javascript-alpinejs","javascript-analogjs","javascript-angular","javascript-angularjs","javascript-astro","javascript-backbone","javascript-browser","javascript-capacitor","javascript-cordova","javascript-electron","javascript-ember","javascript-gatsby","javascript-hono","javascript-hydrogen","javascript-ionic","javascript-lit","javascript-meteor","javascript-million","javascript-nextjs","javascript-nuxt","javascript-opennext","javascript-qwik","javascript-react","javascript-remix","javascript-solid","javascript-solidstart","javascript-svelte","javascript-sveltekit","javascript-vue","javascript-wasm","javascript-node","javascript-awslambda","javascript-azurefunctions","javascript-connect","javascript-express","javascript-fastify","javascript-gcpfunctions","javascript-hapi","javascript-koa","javascript-nestjs","javascript-serverlesscloud","ionic","kotlin","kotlin-android","langchain","linux","mono","motorola","native","native-qt","nintendo","nintendo-switch","node","node-awslambda","node-azurefunctions","node-connect","node-express","node-fastify","node-gcpfunctions","node-hapi","node-koa","node-nestjs","node-serverlesscloud","nvidia","openai","opera","perl","php","playstation","powershell","php-laravel","php-livewire","php-magento","php-monolog","php-symfony2","php-symfony","python","python-aiohttp","python-airflow","python-ariadne","python-asyncpg","python-awslambda","python-azurefunctions","python-beam","python-boto3","python-bottle","python-celery","python-chalice","python-clickhouse-driver","python-django","python-dramatiq","python-falcon","python-fastapi","python-flask","python-gcpfunctions","python-gnu_backtrace","python-gql","python-graphene","python-grpc","python-httpx","python-huey","python-litestar","python-loguru","python-pylons","python-pymongo","python-pyramid","python-pythonawslambda","python-quart","python-ray","python-redis","python-rq","python-sanic","python-serverless","python-starlette","python-strawberry","python-spark","python-sqlalchemy","python-tornado","python-tryton","qq","qt","react-native","ruby","ruby-activeadmin","ruby-grape","ruby-hanami","ruby-padrino","ruby-rack","ruby-rails","ruby-sidekiq","ruby-sinatra","ruby-trailblazer","rust","rust-actix","safari","samsung","scala","stride3d","sql","sqlserver","swift","tauri","ubuntu","unity","ue4","unreal","unrealengine","visualbasic","vscode","windows","normalizePlatform","platform","replace","getIcon","normalizedPlatform","includes","getLanguageIcon","split","platforms","Object","keys","size","format","radius","withLanguageIcon","languageIconStyles","style","otherProps","icon","iconPathRaw","require","iconPath","languageIcon","languageIconPathRaw","languageIconPath","React","position","src","width","height","borderRadius","bottom","right","paths","map","f","values","flat","document","querySelector","append","path","link","createElement","rel","as","href"],"mappings":"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"}