{"version":3,"file":"row.mjs","sources":["../../../../../../packages/components/table-v2/src/row.ts"],"sourcesContent":["import { buildProps, definePropType } from '@bigin/utils'\nimport { virtualizedGridProps } from '@bigin/components/virtual-list'\nimport { columns, expandColumnKey, rowKey } from './common'\n\nimport type { CSSProperties, ExtractPropTypes } 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} & 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>\n"],"names":[],"mappings":";;;;;;AA6CO,MAAM,kBAAkB,UAAW,CAAA;AAAA,EACxC,KAAO,EAAA,MAAA;AAAA,EACP,OAAA;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAM,eAA+C,MAAM,CAAA;AAAA,IAC3D,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,KAAO,EAAA,MAAA;AAAA,EACP,eAAA;AAAA,EACA,kBAAoB,EAAA;AAAA,IAClB,GAAG,oBAAqB,CAAA,kBAAA;AAAA,IACxB,OAAS,EAAA,KAAA,CAAA;AAAA,GACX;AAAA,EACA,WAAa,EAAA,OAAA;AAAA,EACb,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,eAAiC,QAAQ,CAAA;AAAA,GACjD;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAA,EAAM,eAAgC,QAAQ,CAAA;AAAA,GAChD;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,IAAA,EAAM,eAAuC,QAAQ,CAAA;AAAA,GACvD;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAAoB,MAAM,CAAA;AAAA,IAChC,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,IAAA,EAAM,eAAiC,MAAM,CAAA;AAAA,GAC/C;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EAIA,MAAA;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA8B,MAAM,CAAA;AAAA,GAC5C;AACF,CAAU;;;;"}