{"version":3,"file":"TableHeader.mjs","sources":["../../src/table/TableHeader.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\nimport messages from './Table.messages';\nimport TableStatusText from './TableStatusText';\nimport { clsx } from 'clsx';\n\nexport interface TableHeaderType {\n  header?: string;\n  className?: string;\n  alignment?: 'left' | 'right';\n  status?: 'error';\n  width?: string;\n}\n\nexport interface TableHeaderProps extends TableHeaderType {\n  isActionHeader?: boolean;\n}\n\nconst TableHeader = ({\n  header,\n  className,\n  alignment = 'left',\n  status,\n  width,\n  isActionHeader = false,\n}: TableHeaderProps) => {\n  const { formatMessage } = useIntl();\n\n  const getHeaderContent = () => {\n    if (isActionHeader) {\n      // `Action` header doesn't have visual text content, but it has the header, which is visible for screen readers only\n      return (\n        <TableStatusText\n          text={formatMessage(messages.actionHeader)}\n          className={`np-table-header-content${isActionHeader ? ' sr-only' : ''}`}\n        />\n      );\n    }\n\n    if (header) {\n      return (\n        <TableStatusText\n          text={header}\n          className={`np-table-header-content${isActionHeader ? ' sr-only' : ''}`}\n          status={status}\n          typography=\"default-bold\"\n        />\n      );\n    }\n\n    // If headers are empty, we still should render empty headers to keep visual consistency\n    return (\n      <div\n        className=\"np-table-header-content np-text-body-default-bold\"\n        data-testid=\"np-table-empty-header\"\n      >\n        &nbsp;\n      </div>\n    );\n  };\n\n  return (\n    <th\n      className={clsx('np-table-header', className, `np-table-header--${alignment}`, {\n        'np-table-header--error': status === 'error',\n        'np-table-header--action': isActionHeader,\n      })}\n      style={{ minWidth: width, width }}\n    >\n      {getHeaderContent()}\n    </th>\n  );\n};\n\nexport default TableHeader;\n"],"names":["TableHeader","header","className","alignment","status","width","isActionHeader","formatMessage","useIntl","getHeaderContent","_jsx","TableStatusText","text","messages","actionHeader","typography","children","clsx","style","minWidth"],"mappings":";;;;;;AAiBA,MAAMA,WAAW,GAAGA,CAAC;EACnBC,MAAM;EACNC,SAAS;AACTC,EAAAA,SAAS,GAAG,MAAM;EAClBC,MAAM;EACNC,KAAK;AACLC,EAAAA,cAAc,GAAG;AAAK,CACL,KAAI;EACrB,MAAM;AAAEC,IAAAA;GAAe,GAAGC,OAAO,EAAE;EAEnC,MAAMC,gBAAgB,GAAGA,MAAK;AAC5B,IAAA,IAAIH,cAAc,EAAE;AAClB;MACA,oBACEI,GAAA,CAACC,eAAe,EAAA;AACdC,QAAAA,IAAI,EAAEL,aAAa,CAACM,QAAQ,CAACC,YAAY,CAAE;AAC3CZ,QAAAA,SAAS,EAAE,CAAA,uBAAA,EAA0BI,cAAc,GAAG,UAAU,GAAG,EAAE,CAAA;AAAG,OAAA,CACxE;AAEN,IAAA;AAEA,IAAA,IAAIL,MAAM,EAAE;MACV,oBACES,GAAA,CAACC,eAAe,EAAA;AACdC,QAAAA,IAAI,EAAEX,MAAO;AACbC,QAAAA,SAAS,EAAE,CAAA,uBAAA,EAA0BI,cAAc,GAAG,UAAU,GAAG,EAAE,CAAA,CAAG;AACxEF,QAAAA,MAAM,EAAEA,MAAO;AACfW,QAAAA,UAAU,EAAC;AAAc,OAAA,CACzB;AAEN,IAAA;AAEA;AACA,IAAA,oBACEL,GAAA,CAAA,KAAA,EAAA;AACER,MAAAA,SAAS,EAAC,mDAAmD;AAC7D,MAAA,aAAA,EAAY,uBAAuB;AAAAc,MAAAA,QAAA,EAEnC;AACF,KAAK,CAAC;EAEV,CAAC;AAED,EAAA,oBACEN,GAAA,CAAA,IAAA,EAAA;IACER,SAAS,EAAEe,IAAI,CAAC,iBAAiB,EAAEf,SAAS,EAAE,CAAA,iBAAA,EAAoBC,SAAS,CAAA,CAAE,EAAE;MAC7E,wBAAwB,EAAEC,MAAM,KAAK,OAAO;AAC5C,MAAA,yBAAyB,EAAEE;AAC5B,KAAA,CAAE;AACHY,IAAAA,KAAK,EAAE;AAAEC,MAAAA,QAAQ,EAAEd,KAAK;AAAEA,MAAAA;KAAQ;IAAAW,QAAA,EAEjCP,gBAAgB;AAAE,GACjB,CAAC;AAET;;;;"}