{"version":3,"file":"TableCell.cjs","sources":["../../../../src/lib/DataTable/TableCell.tsx"],"sourcesContent":["import type {ReactNode} from 'react';\nimport {useMemo, forwardRef} from 'react';\nimport type {ColumnPinningPosition} from '@tanstack/react-table';\nimport {useLocalTheme} from 'css-vars-hook';\nimport classNames from 'classnames';\n\nimport {useLinkRefs} from '@/internal/hooks/useLinkRefs.ts';\n\nimport classes from './DataTable.module.css';\n\nexport type Props = {\n    children?: ReactNode;\n    leftMargin?: number;\n    rightMargin?: number;\n    isHighlighted?: boolean;\n    isPinned?: ColumnPinningPosition;\n    classname?: string;\n    as: 'td' | 'th';\n};\n\nexport const TableCell = forwardRef<HTMLTableCellElement, Props>(\n    (\n        {children, isPinned, leftMargin, rightMargin, classname, as = 'th', isHighlighted = false},\n        ref\n    ) => {\n        const {LocalRoot, ref: localRef} = useLocalTheme<HTMLTableCellElement>();\n        useLinkRefs(ref, localRef);\n        const theme = useMemo(\n            () => ({\n                ...(leftMargin && {'left-margin': leftMargin}),\n                ...(rightMargin && {'right-margin': rightMargin}),\n            }),\n            [leftMargin, rightMargin]\n        );\n\n        return (\n            <LocalRoot\n                theme={theme}\n                as={as}\n                className={classNames(\n                    classes.tableCell,\n                    {\n                        [classes.highlighted]: isHighlighted,\n                        [classes.pinned]: Boolean(isPinned),\n                        [classes.pinnedHeader]: Boolean(isPinned) && as === 'th',\n                        [classes.left]: isPinned === 'left',\n                        [classes.right]: isPinned === 'right',\n                    },\n                    classname\n                )}>\n                {children}\n            </LocalRoot>\n        );\n    }\n);\n\nTableCell.displayName = 'TableCell';\n"],"names":["TableCell","forwardRef","children","isPinned","leftMargin","rightMargin","classname","as","isHighlighted","ref","LocalRoot","localRef","useLocalTheme","useLinkRefs","theme","useMemo","jsx","classNames","classes"],"mappings":"kSAoBaA,EAAYC,EAAAA,WACrB,CACI,CAAC,SAAAC,EAAU,SAAAC,EAAU,WAAAC,EAAY,YAAAC,EAAa,UAAAC,EAAW,GAAAC,EAAK,KAAM,cAAAC,EAAgB,EAAA,EACpFC,IACC,CACD,KAAM,CAAC,UAAAC,EAAW,IAAKC,CAAA,EAAYC,EAAAA,cAAA,EACnCC,EAAAA,YAAYJ,EAAKE,CAAQ,EACzB,MAAMG,EAAQC,EAAAA,QACV,KAAO,CACH,GAAIX,GAAc,CAAC,cAAeA,CAAA,EAClC,GAAIC,GAAe,CAAC,eAAgBA,CAAA,CAAW,GAEnD,CAACD,EAAYC,CAAW,CAAA,EAG5B,OACIW,EAAAA,IAACN,EAAA,CACG,MAAAI,EACA,GAAAP,EACA,UAAWU,EACPC,EAAAA,QAAQ,UACR,CACI,CAACA,EAAAA,QAAQ,WAAW,EAAGV,EACvB,CAACU,UAAQ,MAAM,EAAG,EAAQf,EAC1B,CAACe,EAAAA,QAAQ,YAAY,EAAG,EAAQf,GAAaI,IAAO,KACpD,CAACW,EAAAA,QAAQ,IAAI,EAAGf,IAAa,OAC7B,CAACe,EAAAA,QAAQ,KAAK,EAAGf,IAAa,OAAA,EAElCG,CAAA,EAEH,SAAAJ,CAAA,CAAA,CAGb,CACJ,EAEAF,EAAU,YAAc"}