{"version":3,"file":"row.mjs","sources":["../../../../../../../packages/components/table-v2/src/renderers/row.tsx"],"sourcesContent":["import { Row } from '../components'\nimport { tryCall } from '../utils'\n\nimport type { FunctionalComponent, UnwrapNestedRefs } from 'vue'\nimport type { UseNamespaceReturn } from '@bigin/hooks'\nimport type { UseTableReturn } from '../use-table'\nimport type { TableV2Props } from '../table'\nimport type { TableGridRowSlotParams } from '../table-grid'\n\ntype RowRendererProps = TableGridRowSlotParams &\n  Pick<\n    TableV2Props,\n    | 'expandColumnKey'\n    | 'estimatedRowHeight'\n    | 'rowProps'\n    | 'rowClass'\n    | 'rowKey'\n    | 'rowEventHandlers'\n  > &\n  UnwrapNestedRefs<\n    Pick<\n      UseTableReturn,\n      | 'depthMap'\n      | 'expandedRowKeys'\n      | 'hasFixedColumns'\n      | 'hoveringRowKey'\n      | 'onRowHovered'\n      | 'onRowExpanded'\n      | 'columnsStyles'\n    >\n  > & {\n    ns: UseNamespaceReturn\n  }\n\nconst RowRenderer: FunctionalComponent<RowRendererProps> = (\n  props,\n  { slots }\n) => {\n  const {\n    columns,\n    columnsStyles,\n    depthMap,\n    expandColumnKey,\n    expandedRowKeys,\n    estimatedRowHeight,\n    hasFixedColumns,\n    hoveringRowKey,\n    rowData,\n    rowIndex,\n    style,\n    isScrolling,\n    rowProps,\n    rowClass,\n    rowKey,\n    rowEventHandlers,\n    ns,\n    onRowHovered,\n    onRowExpanded,\n  } = props\n\n  const rowKls = tryCall(rowClass, { columns, rowData, rowIndex }, '')\n  const additionalProps = tryCall(rowProps, {\n    columns,\n    rowData,\n    rowIndex,\n  })\n  const _rowKey = rowData[rowKey]\n  const depth = depthMap[_rowKey] || 0\n  const canExpand = Boolean(expandColumnKey)\n  const isFixedRow = rowIndex < 0\n  const kls = [\n    ns.e('row'),\n    rowKls,\n    {\n      [ns.e(`row-depth-${depth}`)]: canExpand && rowIndex >= 0,\n      [ns.is('expanded')]: canExpand && expandedRowKeys.includes(_rowKey),\n      [ns.is('hovered')]: !isScrolling && _rowKey === hoveringRowKey,\n      [ns.is('fixed')]: !depth && isFixedRow,\n      [ns.is('customized')]: Boolean(slots.row),\n    },\n  ]\n\n  const onRowHover = hasFixedColumns ? onRowHovered : undefined\n\n  const _rowProps = {\n    ...additionalProps,\n    columns,\n    columnsStyles,\n    class: kls,\n    depth,\n    expandColumnKey,\n    estimatedRowHeight: isFixedRow ? undefined : estimatedRowHeight,\n    isScrolling,\n    rowIndex,\n    rowData,\n    rowKey: _rowKey,\n    rowEventHandlers,\n    style,\n  }\n\n  return (\n    <Row {..._rowProps} onRowHover={onRowHover} onRowExpand={onRowExpanded}>\n      {slots}\n    </Row>\n  )\n}\n\nexport default RowRenderer\n"],"names":["_isVNode","RowRenderer","props","slots","columns","columnsStyles","depthMap","expandColumnKey","expandedRowKeys","estimatedRowHeight","hasFixedColumns","hoveringRowKey","rowData","rowIndex","style","isScrolling","rowProps","rowClass","rowKey","rowEventHandlers","ns","onRowHovered","onRowExpanded","rowKls","tryCall","additionalProps","_rowKey","depth","canExpand","Boolean","isFixedRow","kls","e","is","includes","row","onRowHover","undefined","_rowProps","class","_createVNode","Row","_mergeProps"],"mappings":"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"}