{"version":3,"file":"TableRow.mjs","sources":["../../src/table/TableRow.tsx"],"sourcesContent":["import React from 'react';\nimport TableCell, { TableCellProps } from './TableCell';\nimport Chevron from '../chevron';\nimport { Position } from '../common';\nimport { clsx } from 'clsx';\n\nexport interface TableRowType {\n  cells?: TableCellProps[];\n}\n\nexport interface TableRowClickableType extends TableRowType {\n  id: number | string; // `id` is mandatory for clickable rows\n}\n\nexport interface TableRowProps {\n  rowData?: TableRowType | TableRowClickableType;\n  hasSeparator?: boolean;\n  children?: React.ReactNode;\n  onRowClick?: (rowData: TableRowType | TableRowClickableType) => void;\n}\n\nconst TableRow = ({ rowData, hasSeparator = false, children, onRowClick }: TableRowProps) => {\n  return (\n    <>\n      <tr\n        className={clsx('np-table-row', { 'np-table-row--clickable': !!onRowClick })}\n        data-testid=\"np-table-row\"\n        role={onRowClick ? 'button' : undefined}\n        tabIndex={0}\n        onClick={onRowClick && rowData ? () => onRowClick(rowData) : undefined}\n        onKeyDown={({ key }) => {\n          if (onRowClick && rowData && key === 'Enter') {\n            onRowClick(rowData);\n          }\n        }}\n      >\n        {rowData?.cells\n          ? rowData?.cells?.map((item, index) => {\n              const itemIndex = item.cell?.text ? item.cell?.text.concat(index.toString()) : index;\n              return <TableCell key={itemIndex} {...item} />;\n            })\n          : children}\n        {onRowClick && (\n          <TableCell className=\"np-table-cell--action\">\n            <div aria-hidden=\"true\">\n              <Chevron orientation={Position.RIGHT} />\n            </div>\n          </TableCell>\n        )}\n      </tr>\n      {hasSeparator && (\n        <tr\n          aria-hidden=\"true\"\n          className=\"np-table-row np-table-row--separator\"\n          data-testid=\"np-table-row--separator\"\n        >\n          <td\n            className=\"np-table-cell np-table-cell--cosmetic\"\n            colSpan={onRowClick ? Number(rowData?.cells?.length) + 1 : rowData?.cells?.length}\n            data-testid=\"np-table-cell--cosmetic\"\n          >\n            <div className=\"np-table-cell-separator\" data-testid=\"np-table-cell-separator\" />\n          </td>\n        </tr>\n      )}\n    </>\n  );\n};\n\nexport default TableRow;\n"],"names":["TableRow","rowData","hasSeparator","children","onRowClick","_jsxs","_Fragment","className","clsx","role","undefined","tabIndex","onClick","onKeyDown","key","cells","map","item","index","itemIndex","cell","text","concat","toString","_jsx","TableCell","Chevron","orientation","Position","RIGHT","colSpan","Number","length"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,QAAQ,GAAGA,CAAC;EAAEC,OAAO;AAAEC,EAAAA,YAAY,GAAG,KAAK;EAAEC,QAAQ;AAAEC,EAAAA;AAAU,CAAiB,KAAI;EAC1F,oBACEC,IAAA,CAAAC,QAAA,EAAA;AAAAH,IAAAA,QAAA,gBACEE,IAAA,CAAA,IAAA,EAAA;AACEE,MAAAA,SAAS,EAAEC,IAAI,CAAC,cAAc,EAAE;QAAE,yBAAyB,EAAE,CAAC,CAACJ;AAAU,OAAE,CAAE;AAC7E,MAAA,aAAA,EAAY,cAAc;AAC1BK,MAAAA,IAAI,EAAEL,UAAU,GAAG,QAAQ,GAAGM,SAAU;AACxCC,MAAAA,QAAQ,EAAE,CAAE;MACZC,OAAO,EAAER,UAAU,IAAIH,OAAO,GAAG,MAAMG,UAAU,CAACH,OAAO,CAAC,GAAGS,SAAU;AACvEG,MAAAA,SAAS,EAAEA,CAAC;AAAEC,QAAAA;AAAG,OAAE,KAAI;AACrB,QAAA,IAAIV,UAAU,IAAIH,OAAO,IAAIa,GAAG,KAAK,OAAO,EAAE;UAC5CV,UAAU,CAACH,OAAO,CAAC;AACrB,QAAA;MACF,CAAE;AAAAE,MAAAA,QAAA,EAAA,CAEDF,OAAO,EAAEc,KAAK,GACXd,OAAO,EAAEc,KAAK,EAAEC,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAI;QAClC,MAAMC,SAAS,GAAGF,IAAI,CAACG,IAAI,EAAEC,IAAI,GAAGJ,IAAI,CAACG,IAAI,EAAEC,IAAI,CAACC,MAAM,CAACJ,KAAK,CAACK,QAAQ,EAAE,CAAC,GAAGL,KAAK;QACpF,oBAAOM,GAAA,CAACC,SAAS,EAAA;UAAA,GAAqBR;AAAI,SAAA,EAAnBE,UAAuB;MAChD,CAAC,CAAC,GACFhB,QAAQ,EACXC,UAAU,iBACToB,GAAA,CAACC,SAAS,EAAA;AAAClB,QAAAA,SAAS,EAAC,uBAAuB;AAAAJ,QAAAA,QAAA,eAC1CqB,GAAA,CAAA,KAAA,EAAA;AAAK,UAAA,aAAA,EAAY,MAAM;UAAArB,QAAA,eACrBqB,GAAA,CAACE,OAAO,EAAA;YAACC,WAAW,EAAEC,QAAQ,CAACC;WAAM;SAClC;AACP,OAAW,CACZ;AAAA,KACC,CACJ,EAAC3B,YAAY,iBACXsB,GAAA,CAAA,IAAA,EAAA;AACE,MAAA,aAAA,EAAY,MAAM;AAClBjB,MAAAA,SAAS,EAAC,sCAAsC;AAChD,MAAA,aAAA,EAAY,yBAAyB;AAAAJ,MAAAA,QAAA,eAErCqB,GAAA,CAAA,IAAA,EAAA;AACEjB,QAAAA,SAAS,EAAC,uCAAuC;AACjDuB,QAAAA,OAAO,EAAE1B,UAAU,GAAG2B,MAAM,CAAC9B,OAAO,EAAEc,KAAK,EAAEiB,MAAM,CAAC,GAAG,CAAC,GAAG/B,OAAO,EAAEc,KAAK,EAAEiB,MAAO;AAClF,QAAA,aAAA,EAAY,yBAAyB;AAAA7B,QAAAA,QAAA,eAErCqB,GAAA,CAAA,KAAA,EAAA;AAAKjB,UAAAA,SAAS,EAAC,yBAAyB;UAAC,aAAA,EAAY;SAAyB;OAC5E;AACN,KAAI,CACL;AAAA,GACH,CAAG;AAEP;;;;"}