{"version":3,"file":"row.mjs","names":[],"sources":["../../../../../../packages/components/table-v2/src/row.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { virtualizedGridProps } from '@element-plus/components/virtual-list'\nimport { columns, expandColumnKey, rowKey } from './common'\n\nimport type {\n  CSSProperties,\n  ExtractPropTypes,\n  ExtractPublicPropTypes,\n} from 'vue'\nimport type { FixedDirection, KeyType, RowCommonParams } from './types'\n\nexport type RowExpandParams = {\n  expanded: boolean\n  rowKey: KeyType\n} & RowCommonParams\n\nexport type RowHoverParams = {\n  event?: MouseEvent\n  hovered: boolean\n  rowKey: KeyType\n} & Partial<RowCommonParams>\n\nexport type RowEventHandlerParams = {\n  rowKey: KeyType\n  event: Event\n} & RowCommonParams\n\nexport type RowHeightChangedParams = {\n  rowKey: KeyType\n  height: number\n  rowIndex: number\n}\n\nexport type RowExpandHandler = (params: RowExpandParams) => void\nexport type RowHoverHandler = (params: RowHoverParams) => void\nexport type RowEventHandler = (params: RowEventHandlerParams) => void\nexport type RowHeightChangeHandler = (\n  row: RowHeightChangedParams,\n  fixedDirection: boolean | FixedDirection | undefined\n) => void\n\nexport type RowEventHandlers = {\n  onClick?: RowEventHandler\n  onContextmenu?: RowEventHandler\n  onDblclick?: RowEventHandler\n  onMouseenter?: RowEventHandler\n  onMouseleave?: RowEventHandler\n}\n\nexport const tableV2RowProps = buildProps({\n  class: String,\n  columns,\n  columnsStyles: {\n    type: definePropType<Record<KeyType, CSSProperties>>(Object),\n    required: true,\n  },\n  depth: Number,\n  expandColumnKey,\n  estimatedRowHeight: {\n    ...virtualizedGridProps.estimatedRowHeight,\n    default: undefined,\n  },\n  isScrolling: Boolean,\n  onRowExpand: {\n    type: definePropType<RowExpandHandler>(Function),\n  },\n  onRowHover: {\n    type: definePropType<RowHoverHandler>(Function),\n  },\n  onRowHeightChange: {\n    type: definePropType<RowHeightChangeHandler>(Function),\n  },\n  rowData: {\n    type: definePropType<any>(Object),\n    required: true,\n  },\n  rowEventHandlers: {\n    type: definePropType<RowEventHandlers>(Object),\n  },\n  rowIndex: {\n    type: Number,\n    required: true,\n  },\n  /**\n   * Unique item key\n   */\n  rowKey,\n  style: {\n    type: definePropType<CSSProperties>(Object),\n  },\n} as const)\n\nexport type TableV2RowProps = ExtractPropTypes<typeof tableV2RowProps>\nexport type TableV2RowPropsPublic = ExtractPublicPropTypes<\n  typeof tableV2RowProps\n>\n"],"mappings":";;;;;AAiDA,MAAa,kBAAkB,WAAW;CACxC,OAAO;CACP;CACA,eAAe;EACb,MAAM,eAA+C,OAAO;EAC5D,UAAU;EACX;CACD,OAAO;CACP;CACA,oBAAoB;EAClB,GAAG,qBAAqB;EACxB,SAAS;EACV;CACD,aAAa;CACb,aAAa,EACX,MAAM,eAAiC,SAAS,EACjD;CACD,YAAY,EACV,MAAM,eAAgC,SAAS,EAChD;CACD,mBAAmB,EACjB,MAAM,eAAuC,SAAS,EACvD;CACD,SAAS;EACP,MAAM,eAAoB,OAAO;EACjC,UAAU;EACX;CACD,kBAAkB,EAChB,MAAM,eAAiC,OAAO,EAC/C;CACD,UAAU;EACR,MAAM;EACN,UAAU;EACX;CAID;CACA,OAAO,EACL,MAAM,eAA8B,OAAO,EAC5C;CACF,CAAU"}