{"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,MAAM;EAC3D,UAAU;CACZ;CACA,OAAO;CACP;CACA,oBAAoB;EAClB,GAAG,qBAAqB;EACxB,SAAS,KAAA;CACX;CACA,aAAa;CACb,aAAa,EACX,MAAM,eAAiC,QAAQ,EACjD;CACA,YAAY,EACV,MAAM,eAAgC,QAAQ,EAChD;CACA,mBAAmB,EACjB,MAAM,eAAuC,QAAQ,EACvD;CACA,SAAS;EACP,MAAM,eAAoB,MAAM;EAChC,UAAU;CACZ;CACA,kBAAkB,EAChB,MAAM,eAAiC,MAAM,EAC/C;CACA,UAAU;EACR,MAAM;EACN,UAAU;CACZ;;;;CAIA;CACA,OAAO,EACL,MAAM,eAA8B,MAAM,EAC5C;AACF,CAAU"}