{"version":3,"file":"TableHeader.cjs","sources":["../../../../src/components/table/TableHeader.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef, type MouseEventHandler } from \"react\";\nimport { ChevronDownIcon, ChevronUpIcon, Icon } from \"../icon/index.js\";\nimport type { TableHeaderProps } from \"./types.js\";\n\nexport type TableSortDirection = \"asc\" | \"desc\" | \"none\";\n\nconst SortableArrows = ({ direction }: { direction: TableSortDirection }) => {\n    if (direction === \"desc\") return <ChevronDownIcon variant=\"inherit\" />;\n    if (direction === \"asc\") return <ChevronUpIcon variant=\"inherit\" />;\n\n    return <Icon variant=\"inherit\">unfold_more</Icon>;\n};\n\nconst TableHeader = forwardRef<HTMLTableCellElement, TableHeaderProps>(\n    (props, ref) => {\n        const {\n            bold = true,\n            sortable,\n            className,\n            scope = \"col\",\n            srOnly,\n            align = \"left\",\n            children,\n            onClick,\n            ...rest\n        } = props;\n\n        const handleClick: MouseEventHandler<HTMLTableCellElement> = (e) => {\n            onClick?.(e);\n            sortable?.onClick();\n        };\n\n        return (\n            <th\n                className={clsx(\"jkl-table-header\", className, {\n                    \"jkl-table-header--bold\": bold,\n                    \"jkl-table-header--sr-only\": srOnly,\n                    \"jkl-table-header--sortable\":\n                        typeof sortable !== \"undefined\",\n                })}\n                scope={scope}\n                onClick={handleClick}\n                {...rest}\n                ref={ref}\n            >\n                <div className=\"jkl-table-header__arrows\" data-align={align}>\n                    {children}\n                    {sortable && (\n                        <SortableArrows direction={sortable.direction} />\n                    )}\n                </div>\n            </th>\n        );\n    },\n);\n\nTableHeader.displayName = \"TableHeader\";\n\nexport { TableHeader };\n"],"names":["SortableArrows","direction","jsx","ChevronDownIcon","variant","ChevronUpIcon","Icon","children","TableHeader","forwardRef","props","ref","bold","sortable","className","scope","srOnly","align","onClick","rest","clsx","e","jsxs","displayName"],"mappings":"4rDAOA,MAAMA,EAAiB,EAAGC,UAAAA,KACJ,SAAdA,EAA6BC,EAAAA,IAACC,EAAAA,gBAAA,CAAgBC,QAAQ,YACxC,QAAdH,EAA4BC,EAAAA,IAACG,EAAAA,cAAA,CAAcD,QAAQ,YAEhDF,EAAAA,IAACI,EAAAA,KAAA,CAAKF,QAAQ,UAAUG,SAAA,gBAG7BC,EAAcC,EAAAA,WAChB,CAACC,EAAOC,KACJ,MACIC,KAAAA,GAAO,EACPC,SAAAA,EACAC,UAAAA,EACAC,MAAAA,EAAQ,MACRC,OAAAA,EACAC,MAAAA,EAAQ,OACRV,SAAAA,EACAW,QAAAA,KACGC,GACHT,EAOJ,OACIR,EAAAA,IAAC,KAAA,CACGY,UAAWM,EAAAA,KAAK,mBAAoBN,EAAW,CAC3C,yBAA0BF,EAC1B,4BAA6BI,EAC7B,oCACWH,EAAa,MAE5BE,MAAAA,EACAG,QAdsDG,IAC1DH,IAAUG,GACVR,GAAUK,cAaFC,EACJR,IAAAA,EAEAJ,SAAAe,EAAAA,KAAC,MAAA,CAAIR,UAAU,2BAA2B,aAAYG,EACjDV,SAAA,CAAAA,EACAM,GACGX,EAAAA,IAACF,EAAA,CAAeC,UAAWY,EAASZ,mBAQ5DO,EAAYe,YAAc"}