{"version":3,"file":"Table.cjs","sources":["../../../../src/components/data-display/table/Table.tsx"],"sourcesContent":["import { TABLE_STYLES } from '@components/data-display/table/styles/Table.css.ts'\r\nimport TableBody from '@components/data-display/table/components/table-body/TableBody.tsx'\r\nimport TableCaption from '@components/data-display/table/components/table-caption/TableCaption.tsx'\r\nimport TableCell from '@components/data-display/table/components/table-cell/TableCell.tsx'\r\nimport TableCol from '@components/data-display/table/components/table-col/TableCol.tsx'\r\nimport TableColGroup from '@components/data-display/table/components/table-col-group/TableColGroup.tsx'\r\nimport TableFooter from '@components/data-display/table/components/table-footer/TableFooter.tsx'\r\nimport TableHead from '@components/data-display/table/components/table-head/TableHead.tsx'\r\nimport TableHeader from '@components/data-display/table/components/table-header/TableHeader.tsx'\r\nimport TableRow from '@components/data-display/table/components/table-row/TableRow.tsx'\r\nimport type { TableCompound } from '@components/data-display/table/types'\r\nimport type { TableProps } from '@components/data-display/table/types/Table.props.ts'\r\nimport { cn } from '@utils/cn.ts'\r\nimport { memo } from 'react'\r\n\r\n/**\r\n * Responsive scrollable `<table>` compound with striped, bordered, and\r\n * fixed-column variants. Scrollable container is keyboard-focusable for\r\n * WCAG 2.1 SC 2.1.1 compliance.\r\n *\r\n * Compound slots: `Table.Header`, `.Body`, `.Footer`, `.Row`, `.Head`,\r\n * `.Cell`, `.Caption`, `.ColGroup`, `.Col`.\r\n */\r\nconst Table = memo<TableProps>(({\r\n    size,\r\n    striped,\r\n    bordered,\r\n    fixed,\r\n    className,\r\n    ref,\r\n    ...props\r\n}) => (\r\n    <div\r\n        className={TABLE_STYLES.wrapper}\r\n        // Scrollable overflow containers must be keyboard-reachable so users\r\n        // can scroll them without a mouse (WCAG 2.1 SC 2.1.1).\r\n        // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\r\n        tabIndex={0}\r\n    >\r\n        <table\r\n            ref={ref}\r\n            data-striped={striped}\r\n            data-bordered={bordered}\r\n            className={cn(\r\n                TABLE_STYLES.recipe({ size, striped, bordered, fixed }),\r\n                className,\r\n            )}\r\n            {...props}\r\n        />\r\n    </div>\r\n)) as unknown as TableCompound\r\n\r\nTable.displayName = 'Table'\r\nTable.Header = TableHeader\r\nTable.Body = TableBody\r\nTable.Footer = TableFooter\r\nTable.Row = TableRow\r\nTable.Head = TableHead\r\nTable.Cell = TableCell\r\nTable.Caption = TableCaption\r\nTable.ColGroup = TableColGroup\r\nTable.Col = TableCol\r\n\r\nexport default Table\r\n"],"names":["Table","memo","size","striped","bordered","fixed","className","ref","props","jsx","TABLE_STYLES","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","TableColGroup","TableCol"],"mappings":"0mBAuBMA,EAAQC,EAAAA,KAAiB,CAAC,CAC5B,KAAAC,EACA,QAAAC,EACA,SAAAC,EACA,MAAAC,EACA,UAAAC,EACA,IAAAC,EACA,GAAGC,CACP,IACIC,EAAAA,IAAC,MAAA,CACG,UAAWC,EAAAA,aAAa,QAIxB,SAAU,EAEV,SAAAD,EAAAA,IAAC,QAAA,CACG,IAAAF,EACA,eAAcJ,EACd,gBAAeC,EACf,UAAWO,EAAAA,GACPD,EAAAA,aAAa,OAAO,CAAE,KAAAR,EAAM,QAAAC,EAAS,SAAAC,EAAU,MAAAC,EAAO,EACtDC,CAAA,EAEH,GAAGE,CAAA,CAAA,CACR,CACJ,CACH,EAEDR,EAAM,YAAc,QACpBA,EAAM,OAASY,EACfZ,EAAM,KAAOa,EACbb,EAAM,OAASc,EACfd,EAAM,IAAMe,EACZf,EAAM,KAAOgB,EACbhB,EAAM,KAAOiB,EACbjB,EAAM,QAAUkB,EAChBlB,EAAM,SAAWmB,EACjBnB,EAAM,IAAMoB"}