{"version":3,"file":"DataTable.utils.mjs","sources":["../../../../src/lib/nextGenComponents/components/DataTable/DataTable.utils.ts"],"sourcesContent":["import type { Column } from '@tanstack/react-table'\nimport type { VirtualItem, Virtualizer } from '@tanstack/react-virtual'\n\nimport { DATATABLE_TEXT } from '@/constants'\n\nexport const getColumnWidthCalculator = <TData>(columns: Column<TData, unknown>[]) => {\n  const dataColumns = columns.filter(col => col.id !== DATATABLE_TEXT.CHECKBOX_COLUMN_ID)\n  const totalSize = dataColumns.reduce((sum, col) => sum + col.getSize(), 0)\n  return (size: number) => `${(size / totalSize) * 100}%`\n}\n\nexport const getColumnSize = (\n  isCheckbox: boolean,\n  isFirstData: boolean,\n  size: number,\n  getColumnWidth: (size: number) => string\n) => {\n  if (isCheckbox) return { width: '48px' }\n  if (!isFirstData) return { width: getColumnWidth(size) }\n  return undefined\n}\n\nexport const getVirtualPadding = (\n  virtualRows: VirtualItem[],\n  rowVirtualizer: Virtualizer<HTMLDivElement, Element>\n) => {\n  const top = virtualRows.length > 0 ? virtualRows[0].start : 0\n  const bottom =\n    virtualRows.length > 0 ? rowVirtualizer.getTotalSize() - virtualRows.at(-1)!.end : 0\n  return { top, bottom }\n}\n"],"names":["getColumnWidthCalculator","columns","totalSize","col","DATATABLE_TEXT","sum","size","getColumnSize","isCheckbox","isFirstData","getColumnWidth","getVirtualPadding","virtualRows","rowVirtualizer","top","bottom"],"mappings":";AAKO,MAAMA,IAA2B,CAAQC,MAAsC;AAEpF,QAAMC,IADcD,EAAQ,OAAO,OAAOE,EAAI,OAAOC,EAAe,kBAAkB,EACxD,OAAO,CAACC,GAAKF,MAAQE,IAAMF,EAAI,QAAA,GAAW,CAAC;AACzE,SAAO,CAACG,MAAiB,GAAIA,IAAOJ,IAAa,GAAG;AACtD,GAEaK,IAAgB,CAC3BC,GACAC,GACAH,GACAI,MACG;AACH,MAAIF,EAAY,QAAO,EAAE,OAAO,OAAA;AAChC,MAAI,CAACC,EAAa,QAAO,EAAE,OAAOC,EAAeJ,CAAI,EAAA;AAEvD,GAEaK,IAAoB,CAC/BC,GACAC,MACG;AACH,QAAMC,IAAMF,EAAY,SAAS,IAAIA,EAAY,CAAC,EAAE,QAAQ,GACtDG,IACJH,EAAY,SAAS,IAAIC,EAAe,iBAAiBD,EAAY,GAAG,EAAE,EAAG,MAAM;AACrF,SAAO,EAAE,KAAAE,GAAK,QAAAC,EAAA;AAChB;"}