{"version":3,"file":"ColumnFooterCell.cjs","sources":["../../../../../src/lib/DataTable/cells/ColumnFooterCell.tsx"],"sourcesContent":["import type {ComponentProps, FC} from 'react';\nimport {useCallback} from 'react';\n\nimport {IconFilterOff, IconUnPin, IconSortOff} from '@/internal/Icons';\n\nimport type {FooterCell} from './../types.ts';\nimport classes from './Cells.module.css';\n\nexport type Props = ComponentProps<FooterCell>;\n\nexport const ColumnFooterCell: FC<Props> = ({cellContext}) => {\n    const isFiltered = cellContext.column.getIsFiltered();\n    const isSorted = Boolean(cellContext.column.getIsSorted());\n    const isPinned = Boolean(cellContext.column.getIsPinned());\n\n    const handleResetFilter = useCallback(() => {\n        cellContext.column.setFilterValue('');\n    }, [cellContext]);\n\n    const handleResetSorting = useCallback(() => {\n        cellContext.column.clearSorting();\n    }, [cellContext]);\n\n    const handleUnPin = useCallback(() => {\n        cellContext.column.pin(false);\n    }, [cellContext]);\n\n    return (\n        <div className={classes.footerCell}>\n            {isFiltered && (\n                <button\n                    className={classes.footerButton}\n                    title=\"Reset filter\"\n                    onClick={handleResetFilter}>\n                    <IconFilterOff className={classes.footerIcon} />\n                </button>\n            )}\n            {isSorted && (\n                <button\n                    className={classes.footerButton}\n                    title=\"Reset sorting\"\n                    onClick={handleResetSorting}>\n                    <IconSortOff className={classes.footerIcon} />\n                </button>\n            )}\n            {isPinned && (\n                <button className={classes.footerButton} title=\"Unpin column\" onClick={handleUnPin}>\n                    <IconUnPin className={classes.footerIcon} />\n                </button>\n            )}\n        </div>\n    );\n};\n"],"names":["ColumnFooterCell","cellContext","isFiltered","isSorted","isPinned","handleResetFilter","useCallback","handleResetSorting","handleUnPin","jsxs","classes","jsx","IconFilterOff","IconSortOff","IconUnPin"],"mappings":"wVAUaA,EAA8B,CAAC,CAAC,YAAAC,KAAiB,CACpD,MAAAC,EAAaD,EAAY,OAAO,cAAc,EAC9CE,EAAW,EAAQF,EAAY,OAAO,cACtCG,EAAW,EAAQH,EAAY,OAAO,cAEtCI,EAAoBC,EAAAA,YAAY,IAAM,CAC5BL,EAAA,OAAO,eAAe,EAAE,CAAA,EACrC,CAACA,CAAW,CAAC,EAEVM,EAAqBD,EAAAA,YAAY,IAAM,CACzCL,EAAY,OAAO,aAAa,CAAA,EACjC,CAACA,CAAW,CAAC,EAEVO,EAAcF,EAAAA,YAAY,IAAM,CACtBL,EAAA,OAAO,IAAI,EAAK,CAAA,EAC7B,CAACA,CAAW,CAAC,EAEhB,OACKQ,EAAAA,KAAA,MAAA,CAAI,UAAWC,EAAA,QAAQ,WACnB,SAAA,CACGR,GAAAS,EAAA,IAAC,SAAA,CACG,UAAWD,EAAQ,QAAA,aACnB,MAAM,eACN,QAASL,EACT,SAACM,EAAA,IAAAC,EAAA,cAAA,CAAc,UAAWF,EAAAA,QAAQ,UAAY,CAAA,CAAA,CAClD,EAEHP,GACGQ,EAAA,IAAC,SAAA,CACG,UAAWD,EAAQ,QAAA,aACnB,MAAM,gBACN,QAASH,EACT,SAACI,EAAA,IAAAE,EAAA,YAAA,CAAY,UAAWH,EAAAA,QAAQ,UAAY,CAAA,CAAA,CAChD,EAEHN,GACGO,EAAA,IAAC,SAAO,CAAA,UAAWD,UAAQ,aAAc,MAAM,eAAe,QAASF,EACnE,SAACG,EAAAA,IAAAG,EAAA,UAAA,CAAU,UAAWJ,EAAA,QAAQ,WAAY,CAC9C,CAAA,CAAA,EAER,CAER"}