{"version":3,"file":"TableRow.cjs","sources":["../../../../src/components/table/TableRow.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef, useEffect, useState } from \"react\";\nimport { useTableSectionContext } from \"./tableSectionContext.js\";\nimport type { TableRowProps } from \"./types.js\";\n\nconst TableRow = forwardRef<HTMLTableRowElement, TableRowProps>(\n    ({ className, clickable, children, ...rest }, ref) => {\n        const { isTableBody } = useTableSectionContext();\n\n        const [clicked, setClicked] = useState(clickable?.isClicked || false);\n\n        useEffect(() => {\n            setClicked((prev) =>\n                clickable?.isClicked !== undefined ? clickable.isClicked : prev,\n            );\n        }, [clickable?.isClicked]);\n\n        if (isTableBody && clickable) {\n            return (\n                <tr\n                    onClick={function handleOnClick(e) {\n                        setClicked(!clicked);\n                        clickable.onClick(e);\n                    }}\n                    onKeyPress={function handleKeyPress(e) {\n                        if (e.key === \" \" || e.key === \"Enter\") {\n                            e.preventDefault();\n                            setClicked(!clicked);\n                            clickable.onClick(e);\n                        }\n                    }}\n                    data-testid=\"jkl-clickable-table-row\"\n                    className={clsx(\n                        \"jkl-table-row\",\n                        \"jkl-table-row--clickable\",\n                        className,\n                        {\n                            [\"jkl-table-row--clicked\"]:\n                                clickable?.markClickedRows && clicked,\n                        },\n                    )}\n                    aria-label=\"Klikkbar rad\"\n                    aria-pressed={\n                        clickable?.markClickedRows\n                            ? clicked\n                                ? \"true\"\n                                : \"false\"\n                            : undefined\n                    }\n                    tabIndex={0}\n                    {...rest}\n                    ref={ref}\n                >\n                    {children}\n                </tr>\n            );\n        }\n\n        return (\n            <tr\n                className={clsx(\"jkl-table-row\", className)}\n                {...rest}\n                ref={ref}\n            >\n                {children}\n            </tr>\n        );\n    },\n);\n\nTableRow.displayName = \"TableRow\";\n\nexport { TableRow };\n"],"names":["TableRow","forwardRef","className","clickable","children","rest","ref","isTableBody","useTableSectionContext","clicked","setClicked","useState","isClicked","useEffect","prev","jsx","onClick","e","onKeyPress","key","preventDefault","clsx","markClickedRows","tabIndex","displayName"],"mappings":"uNAKMA,EAAWC,EAAAA,WACb,EAAGC,UAAAA,EAAWC,UAAAA,EAAWC,SAAAA,KAAaC,GAAQC,KAC1C,MAAQC,YAAAA,GAAgBC,4BAEjBC,EAASC,GAAcC,EAAAA,SAASR,GAAWS,YAAa,GAQ/D,OANAC,EAAAA,UAAU,KACNH,EAAYI,QACiB,IAAzBX,GAAWS,UAA0BT,EAAUS,UAAYE,IAEhE,CAACX,GAAWS,YAEXL,GAAeJ,EAEXY,EAAAA,IAAC,KAAA,CACGC,QAAS,SAAuBC,GAC5BP,GAAYD,GACZN,EAAUa,QAAQC,EACtB,EACAC,WAAY,SAAwBD,IAClB,MAAVA,EAAEE,KAAyB,UAAVF,EAAEE,OACnBF,EAAEG,iBACFV,GAAYD,GACZN,EAAUa,QAAQC,GAE1B,EACA,cAAY,0BACZf,UAAWmB,EAAAA,KACP,gBACA,2BACAnB,EACA,CACK,yBACGC,GAAWmB,iBAAmBb,IAG1C,aAAW,eACX,eACIN,GAAWmB,gBACLb,EACI,OACA,aACJ,EAEVc,SAAU,KACNlB,EACJC,IAAAA,EAECF,SAAAA,IAMTW,EAAAA,IAAC,KAAA,CACGb,UAAWmB,EAAAA,KAAK,gBAAiBnB,MAC7BG,EACJC,IAAAA,EAECF,SAAAA,MAMjBJ,EAASwB,YAAc"}