{"version":3,"sources":["../src/components/shared/ModalComponents.tsx"],"sourcesContent":["import { type ReactNode } from 'react';\nimport { UserIcon, XCircleIcon } from '@phosphor-icons/react';\nimport Text from '../Text/Text';\n\n/**\n * Section heading used inside report modals.\n */\nexport const SectionTitle = ({ children }: { children: ReactNode }) => (\n  <Text\n    as=\"h3\"\n    size=\"md\"\n    weight=\"bold\"\n    className=\"text-text-950 tracking-[0.2px]\"\n  >\n    {children}\n  </Text>\n);\n\n/**\n * User identity header used inside report modals.\n * Pass an optional `statusBadge` to display a badge on the right side of the name row\n * (e.g. a performance status Badge for students).\n */\nexport const UserHeader = ({\n  name,\n  school,\n  className,\n  year,\n  statusBadge,\n}: {\n  name: string;\n  school: string;\n  className: string;\n  year: string | number;\n  statusBadge?: ReactNode;\n}) => (\n  <div className=\"flex flex-col gap-2 pb-4 border-b border-border-50\">\n    <div className=\"flex items-center justify-between gap-3\">\n      <div className=\"flex items-center gap-2\">\n        <Text\n          as=\"span\"\n          className=\"size-8 rounded-full bg-background-100 flex items-center justify-center shrink-0\"\n        >\n          <UserIcon size={18} className=\"text-text-500\" weight=\"fill\" />\n        </Text>\n        <Text size=\"md\" weight=\"medium\" className=\"text-text-950\">\n          {name}\n        </Text>\n      </div>\n      {statusBadge}\n    </div>\n    <Text size=\"xs\" className=\"text-text-600\">\n      {/*\n       * Only the parts that exist. A director or pedagogue has no class, and\n       * interpolating it blindly left an orphan bullet: \"Escola Municipal •  • 2026\".\n       */}\n      {[school, className, year]\n        .filter((part) => part !== undefined && part !== null && part !== '')\n        .join(' • ')}\n    </Text>\n  </div>\n);\n\n/**\n * Error state for report modals.\n */\nexport const ErrorContent = ({ message }: { message: string }) => (\n  <div className=\"flex flex-col items-center justify-center py-10 gap-3\">\n    <Text\n      as=\"span\"\n      className=\"size-10 rounded-full bg-error-100 flex items-center justify-center\"\n    >\n      <XCircleIcon size={20} className=\"text-error-700\" weight=\"fill\" />\n    </Text>\n    <Text size=\"sm\" className=\"text-error-700 text-center\">\n      {message}\n    </Text>\n  </div>\n);\n"],"mappings":";;;;;AACA,SAAS,UAAU,mBAAmB;AAOpC,cA8BI,YA9BJ;AADK,IAAM,eAAe,CAAC,EAAE,SAAS,MACtC;AAAA,EAAC;AAAA;AAAA,IACC,IAAG;AAAA,IACH,MAAK;AAAA,IACL,QAAO;AAAA,IACP,WAAU;AAAA,IAET;AAAA;AACH;AAQK,IAAM,aAAa,CAAC;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAOE,qBAAC,SAAI,WAAU,sDACb;AAAA,uBAAC,SAAI,WAAU,2CACb;AAAA,yBAAC,SAAI,WAAU,2BACb;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,WAAU;AAAA,UAEV,8BAAC,YAAS,MAAM,IAAI,WAAU,iBAAgB,QAAO,QAAO;AAAA;AAAA,MAC9D;AAAA,MACA,oBAAC,gBAAK,MAAK,MAAK,QAAO,UAAS,WAAU,iBACvC,gBACH;AAAA,OACF;AAAA,IACC;AAAA,KACH;AAAA,EACA,oBAAC,gBAAK,MAAK,MAAK,WAAU,iBAKvB,WAAC,QAAQ,WAAW,IAAI,EACtB,OAAO,CAAC,SAAS,SAAS,UAAa,SAAS,QAAQ,SAAS,EAAE,EACnE,KAAK,UAAK,GACf;AAAA,GACF;AAMK,IAAM,eAAe,CAAC,EAAE,QAAQ,MACrC,qBAAC,SAAI,WAAU,yDACb;AAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAG;AAAA,MACH,WAAU;AAAA,MAEV,8BAAC,eAAY,MAAM,IAAI,WAAU,kBAAiB,QAAO,QAAO;AAAA;AAAA,EAClE;AAAA,EACA,oBAAC,gBAAK,MAAK,MAAK,WAAU,8BACvB,mBACH;AAAA,GACF;","names":[]}