{"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,CAC1D,MAAMC,EAAaD,EAAY,OAAO,cAAA,EAChCE,EAAW,EAAQF,EAAY,OAAO,cACtCG,EAAW,EAAQH,EAAY,OAAO,cAEtCI,EAAoBC,EAAAA,YAAY,IAAM,CACxCL,EAAY,OAAO,eAAe,EAAE,CACxC,EAAG,CAACA,CAAW,CAAC,EAEVM,EAAqBD,EAAAA,YAAY,IAAM,CACzCL,EAAY,OAAO,aAAA,CACvB,EAAG,CAACA,CAAW,CAAC,EAEVO,EAAcF,EAAAA,YAAY,IAAM,CAClCL,EAAY,OAAO,IAAI,EAAK,CAChC,EAAG,CAACA,CAAW,CAAC,EAEhB,OACIQ,EAAAA,KAAC,MAAA,CAAI,UAAWC,EAAAA,QAAQ,WACnB,SAAA,CAAAR,GACGS,EAAAA,IAAC,SAAA,CACG,UAAWD,EAAAA,QAAQ,aACnB,MAAM,eACN,QAASL,EACT,SAAAM,EAAAA,IAACC,EAAAA,cAAA,CAAc,UAAWF,EAAAA,QAAQ,UAAA,CAAY,CAAA,CAAA,EAGrDP,GACGQ,EAAAA,IAAC,SAAA,CACG,UAAWD,EAAAA,QAAQ,aACnB,MAAM,gBACN,QAASH,EACT,SAAAI,EAAAA,IAACE,EAAAA,YAAA,CAAY,UAAWH,EAAAA,QAAQ,UAAA,CAAY,CAAA,CAAA,EAGnDN,GACGO,EAAAA,IAAC,SAAA,CAAO,UAAWD,UAAQ,aAAc,MAAM,eAAe,QAASF,EACnE,SAAAG,EAAAA,IAACG,EAAAA,UAAA,CAAU,UAAWJ,EAAAA,QAAQ,WAAY,CAAA,CAC9C,CAAA,EAER,CAER"}