{"version":3,"sources":["../src/utils/renderSubjectCell.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { SubjectEnum } from '../enums/SubjectEnum';\nimport { getSubjectInfo } from '../components/SubjectInfo/SubjectInfo';\nimport Text from '../components/Text/Text';\nimport { TruncatedText } from '../components/TruncatedText/TruncatedText';\nimport { cn } from './utils';\n\n/**\n * Render a subject cell with optional icon based on subject enum mapping\n * @param subjectName - The subject name to display\n * @param mapSubjectNameToEnum - Optional function to map subject name to SubjectEnum\n * @param showEmptyDash - Whether to show \"-\" for empty subject names (default: false)\n * @returns React node for the subject cell\n */\nexport const renderSubjectCell = (\n  subjectName: string,\n  mapSubjectNameToEnum?: (name: string) => SubjectEnum | null,\n  showEmptyDash = false\n): ReactNode => {\n  if (!subjectName) {\n    return showEmptyDash ? (\n      <Text size=\"sm\" color=\"text-text-400\">\n        -\n      </Text>\n    ) : null;\n  }\n\n  const subjectEnum = mapSubjectNameToEnum?.(subjectName);\n\n  if (!subjectEnum) {\n    return <TruncatedText size=\"sm\">{subjectName}</TruncatedText>;\n  }\n\n  const subjectInfo = getSubjectInfo(subjectEnum);\n\n  return (\n    <div className=\"flex items-center gap-2 min-w-0\">\n      <span\n        className={cn(\n          'w-[21px] h-[21px] flex items-center justify-center rounded-sm text-text-950 shrink-0',\n          subjectInfo.colorClass\n        )}\n      >\n        {subjectInfo.icon}\n      </span>\n      <TruncatedText size=\"sm\">{subjectName}</TruncatedText>\n    </div>\n  );\n};\n"],"mappings":";;;;;;;;;;;;;;AAqBM,cAeF,YAfE;AAPC,IAAM,oBAAoB,CAC/B,aACA,sBACA,gBAAgB,UACF;AACd,MAAI,CAAC,aAAa;AAChB,WAAO,gBACL,oBAAC,gBAAK,MAAK,MAAK,OAAM,iBAAgB,eAEtC,IACE;AAAA,EACN;AAEA,QAAM,cAAc,uBAAuB,WAAW;AAEtD,MAAI,CAAC,aAAa;AAChB,WAAO,oBAAC,iBAAc,MAAK,MAAM,uBAAY;AAAA,EAC/C;AAEA,QAAM,cAAc,eAAe,WAAW;AAE9C,SACE,qBAAC,SAAI,WAAU,mCACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,YAAY;AAAA,QACd;AAAA,QAEC,sBAAY;AAAA;AAAA,IACf;AAAA,IACA,oBAAC,iBAAc,MAAK,MAAM,uBAAY;AAAA,KACxC;AAEJ;","names":[]}