{"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 {\n  ComponentInternalInstance,\n  FunctionalComponent,\n  UnwrapNestedRefs,\n} from 'vue'\nimport type { UseNamespaceReturn } from '@lit-element/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      | 'onRowHovered'\n      | 'onRowExpanded'\n      | 'columnsStyles'\n    >\n  > & {\n    ns: UseNamespaceReturn\n    tableInstance: null | ComponentInternalInstance\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    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('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  const handlerMosueEnter = (e: MouseEvent) => {\n    onRowHover?.({\n      hovered: true,\n      rowKey: _rowKey,\n      event: e,\n      rowData,\n      rowIndex,\n    })\n  }\n\n  const handlerMouseLeave = (e: MouseEvent) => {\n    onRowHover?.({\n      hovered: false,\n      rowKey: _rowKey,\n      event: e,\n      rowData,\n      rowIndex,\n    })\n  }\n\n  return (\n    <Row\n      {..._rowProps}\n      onRowExpand={onRowExpanded}\n      onMouseenter={handlerMosueEnter}\n      onMouseleave={handlerMouseLeave}\n      rowkey={_rowKey}\n    >\n      {slots}\n    </Row>\n  )\n}\n\nexport default RowRenderer\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","RowRenderer","props","slots","columns","columnsStyles","depthMap","expandColumnKey","expandedRowKeys","estimatedRowHeight","hasFixedColumns","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","handlerMosueEnter","hovered","event","handlerMouseLeave","_createVNode","Row","_mergeProps","default"],"mappings":"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"}