{"version":3,"file":"utils.cjs","sources":["../../../../src/components/InteractiveTable/utils.ts"],"sourcesContent":["import { Column as RTColumn } from 'react-table';\n\nimport { EmptyExpanderHeader, ExpanderCell, ExpanderHeader } from './Expander';\nimport { Column } from './types';\n\nexport const EXPANDER_CELL_ID = '__expander' as const;\n\ntype InternalColumn<T extends object> = RTColumn<T> & {\n  visible?: (data: T[]) => boolean;\n};\n\n// Returns the columns in a \"react-table\" acceptable format\nexport function getColumns<K extends object>(\n  columns: Array<Column<K>>,\n  showExpandAll = false\n): Array<InternalColumn<K>> {\n  return [\n    {\n      id: EXPANDER_CELL_ID,\n      Cell: ExpanderCell,\n      Header: showExpandAll ? ExpanderHeader : EmptyExpanderHeader,\n      disableSortBy: true,\n      width: 0,\n    },\n    // @ts-expect-error react-table expects each column key(id) to have data associated with it and therefore complains about\n    // column.id being possibly undefined and not keyof T (where T is the data object)\n    // We do not want to be that strict as we simply pass undefined to cells that do not have data associated with them.\n    ...columns.map((column) => ({\n      id: column.id,\n      accessor: column.id,\n      Header: column.header || (() => null),\n      sortType: column.sortType || 'alphanumeric',\n      disableSortBy: !Boolean(column.sortType),\n      width: column.disableGrow ? 0 : undefined,\n      visible: column.visible,\n      ...(column.sortDescFirst !== undefined && { sortDescFirst: column.sortDescFirst }),\n      ...(column.cell && { Cell: column.cell }),\n    })),\n  ];\n}\n"],"names":["ExpanderCell","ExpanderHeader","EmptyExpanderHeader"],"mappings":";;;;;;;AAKO,MAAM,gBAAA,GAAmB;AAOzB,SAAS,UAAA,CACd,OAAA,EACA,aAAA,GAAgB,KAAA,EACU;AAC1B,EAAA,OAAO;AAAA,IACL;AAAA,MACE,EAAA,EAAI,gBAAA;AAAA,MACJ,IAAA,EAAMA,kBAAA;AAAA,MACN,MAAA,EAAQ,gBAAgBC,oBAAA,GAAiBC,yBAAA;AAAA,MACzC,aAAA,EAAe,IAAA;AAAA,MACf,KAAA,EAAO;AAAA,KACT;AAAA;AAAA;AAAA;AAAA,IAIA,GAAG,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,MAAY;AAAA,MAC1B,IAAI,MAAA,CAAO,EAAA;AAAA,MACX,UAAU,MAAA,CAAO,EAAA;AAAA,MACjB,MAAA,EAAQ,MAAA,CAAO,MAAA,KAAW,MAAM,IAAA,CAAA;AAAA,MAChC,QAAA,EAAU,OAAO,QAAA,IAAY,cAAA;AAAA,MAC7B,aAAA,EAAe,CAAC,OAAA,CAAQ,MAAA,CAAO,QAAQ,CAAA;AAAA,MACvC,KAAA,EAAO,MAAA,CAAO,WAAA,GAAc,CAAA,GAAI,KAAA,CAAA;AAAA,MAChC,SAAS,MAAA,CAAO,OAAA;AAAA,MAChB,GAAI,MAAA,CAAO,aAAA,KAAkB,UAAa,EAAE,aAAA,EAAe,OAAO,aAAA,EAAc;AAAA,MAChF,GAAI,MAAA,CAAO,IAAA,IAAQ,EAAE,IAAA,EAAM,OAAO,IAAA;AAAK,KACzC,CAAE;AAAA,GACJ;AACF;;;;;"}