{"version":3,"file":"UserName.jsx","names":["stylex","createElement","memo","Link","controlColor","color","markColor","size","UserName","styles","create","userName","display","gap","alignItems","plain","white900","mark","content","width","height","marginLeft","pointerEvents","userSelect","touchAction","maskImage","maskSize","maskRepeat","maskPosition","op","borderRadius","px0_5","buttonPrimaryColor","backgroundColor","buttonPrimaryBackground","paddingBlock","paddingInline","rem1","fontSize","markSpecificStyles","t0","$","_c","name","isOp","linkStyle","t1","p","props","undefined"],"sources":["../src/UserName.tsx"],"sourcesContent":["import * as stylex from \"@stylexjs/stylex\";\nimport { createElement, memo } from \"react\";\nimport { Link } from \"react-router\";\nimport { controlColor } from \"./theme.stylex\";\nimport { color, markColor, size } from \"./tokens.stylex\";\n\nexport type UserLinkStyle = \"theme\" | \"plain\";\n\nexport interface UserNameProps {\n\t/** @remarks We use a `string` instead of `api.UserName` because we don't want to pull in API types into the dependencies of this component. */\n\tname: string;\n\t/** Undefined means no link. Otherwise, the link style. */\n\tlinkStyle?: UserLinkStyle | undefined;\n\t/** @remarks We use a `number` instead of `api.UserMark` because we don't want to pull in API types into the dependencies of this component. */\n\tmark?: number;\n\tisOp?: boolean;\n}\n\nexport default memo(UserName);\n\nconst styles = stylex.create({\n\tuserName: {\n\t\tdisplay: \"inline-flex\",\n\n\t\t// Not using size units here, because we want the size to be oriented along the font\n\t\tgap: \"0.125em\",\n\t\talignItems: \"center\",\n\t},\n\tplain: {\n\t\tcolor: color.white900,\n\t},\n\tmark: {\n\t\t\"::after\": {\n\t\t\tcontent: \"''\",\n\t\t\t// Not using size units here, because we want the size to be oriented along the font of the parent\t\t\tcontent: \"''\",\n\t\t\twidth: \"0.55em\",\n\t\t\theight: \"0.55em\",\n\t\t\tmarginLeft: \"0.3em\",\n\n\t\t\tpointerEvents: \"none\",\n\t\t\tuserSelect: \"none\",\n\t\t\ttouchAction: \"none\",\n\n\t\t\tmaskImage: \"var(--mark-shape-default)\",\n\n\t\t\tmaskSize: \"contain\",\n\t\t\tmaskRepeat: \"no-repeat\",\n\t\t\tmaskPosition: \"center\",\n\t\t},\n\t},\n\top: {\n\t\t\"::before\": {\n\t\t\tcontent: \"'OP'\",\n\t\t\tborderRadius: size.px0_5,\n\t\t\tcolor: controlColor.buttonPrimaryColor,\n\n\t\t\tbackgroundColor: controlColor.buttonPrimaryBackground,\n\t\t\tpaddingBlock: 0,\n\t\t\tpaddingInline: size.rem1,\n\t\t\tfontSize: \"60%\",\n\n\t\t\tpointerEvents: \"none\",\n\t\t\tuserSelect: \"none\",\n\t\t\ttouchAction: \"none\",\n\t\t},\n\t},\n});\n\n// Old unicode shapes:\n// $default-shape: \"\\25CF\";\n// SCSS map:\n// $shapes: (\n//   \"legend\": \"\\25C6\",\n//   \"special\": \"\\25A7\",\n//   \"helper\": \"\\2764\",\n// );\n\nconst markSpecificStyles = stylex.create({\n\t0: {\n\t\t// none\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[0],\n\t\t},\n\t},\n\t1: {\n\t\t// newfag\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[1],\n\t\t},\n\t},\n\t2: {\n\t\t// oldfag\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[2],\n\t\t},\n\t},\n\t3: {\n\t\t// admin\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[3],\n\t\t},\n\t},\n\t4: {\n\t\t// banned\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[4],\n\t\t},\n\t},\n\t5: {\n\t\t// mod\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[5],\n\t\t},\n\t},\n\t6: {\n\t\t// superfag\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[6],\n\t\t},\n\t},\n\t7: {\n\t\t// legend\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[7],\n\t\t\tmaskImage: \"var(--mark-shape-legend)\",\n\t\t},\n\t},\n\t8: {\n\t\t// special\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[8],\n\t\t\tmaskImage: \"var(--mark-shape-special)\",\n\t\t},\n\t},\n\t9: {\n\t\t// paid\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[9],\n\t\t},\n\t},\n\t10: {\n\t\t// mediumfag\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[10],\n\t\t},\n\t},\n\t11: {\n\t\t// oldmod\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[11],\n\t\t},\n\t},\n\t12: {\n\t\t// helper\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[12],\n\t\t\tmaskImage: \"var(--mark-shape-helper)\",\n\t\t},\n\t},\n\t13: {\n\t\t// bot\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[13],\n\t\t},\n\t},\n\t14: {\n\t\t// sysbot\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[14],\n\t\t},\n\t},\n\t15: {\n\t\t// oldhelper\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[15],\n\t\t},\n\t},\n\t16: {\n\t\t// team-blue\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[16],\n\t\t},\n\t},\n\t17: {\n\t\t// team-red\n\t\t\"::after\": {\n\t\t\tbackgroundColor: markColor[17],\n\t\t},\n\t},\n});\n\nfunction UserName({ name, isOp, linkStyle, mark }: UserNameProps) {\n\tconst p = stylex.props(\n\t\tstyles.userName,\n\t\tisOp && styles.op,\n\t\ttypeof mark === \"number\" && styles.mark,\n\t\ttypeof mark === \"number\" &&\n\t\t\tmarkSpecificStyles[mark as keyof typeof markSpecificStyles],\n\t\tlinkStyle === \"plain\" && styles.plain,\n\t);\n\n\treturn linkStyle === undefined ? (\n\t\tcreateElement(\"span\", p, name)\n\t) : (\n\t\t<Link to={`/user/${name}`} {...p}>\n\t\t\t{name}\n\t\t</Link>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}