{"version":3,"file":"grid.mjs","sources":["../../../../../../packages/components/table-v2/src/grid.ts"],"sourcesContent":["import { buildProps, definePropType } from '@bigin/utils'\nimport {\n  virtualizedGridProps,\n  virtualizedListProps,\n} from '@bigin/components/virtual-list'\nimport {\n  classType,\n  columns,\n  dataType,\n  fixedDataType,\n  requiredNumber,\n  styleType,\n} from './common'\nimport { tableV2HeaderProps } from './header'\nimport { tableV2RowProps } from './row'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { ItemSize } from '@bigin/components/virtual-list'\n\nexport type onRowRenderedParams = {\n  rowCacheStart: number\n  rowCacheEnd: number\n  rowVisibleStart: number\n  rowVisibleEnd: number\n}\n\nexport const tableV2GridProps = buildProps({\n  columns,\n  data: dataType,\n  fixedData: fixedDataType,\n  estimatedRowHeight: tableV2RowProps.estimatedRowHeight,\n\n  /**\n   * Size related attributes\n   */\n  width: requiredNumber,\n  height: requiredNumber,\n\n  headerWidth: requiredNumber,\n  headerHeight: tableV2HeaderProps.headerHeight,\n\n  bodyWidth: requiredNumber,\n  rowHeight: requiredNumber,\n\n  /**\n   * Special attributes\n   */\n  cache: virtualizedListProps.cache,\n  useIsScrolling: Boolean,\n  scrollbarAlwaysOn: virtualizedGridProps.scrollbarAlwaysOn,\n  scrollbarStartGap: virtualizedGridProps.scrollbarStartGap,\n  scrollbarEndGap: virtualizedGridProps.scrollbarEndGap,\n\n  /**\n   * CSS attributes\n   */\n  class: classType,\n  style: styleType,\n  containerStyle: styleType,\n\n  getRowHeight: {\n    type: definePropType<ItemSize>(Function),\n    required: true,\n  },\n  rowKey: tableV2RowProps.rowKey,\n\n  /**\n   * Event handlers\n   */\n  onRowsRendered: {\n    type: definePropType<(params: onRowRenderedParams) => void>(Function),\n  },\n  onScroll: {\n    type: definePropType<(...args: any[]) => void>(Function),\n  },\n} as const)\n\nexport type TableV2GridProps = ExtractPropTypes<typeof tableV2GridProps>\n"],"names":[],"mappings":";;;;;;;;AA0BO,MAAM,mBAAmB,UAAW,CAAA;AAAA,EACzC,OAAA;AAAA,EACA,IAAM,EAAA,QAAA;AAAA,EACN,SAAW,EAAA,aAAA;AAAA,EACX,oBAAoB,eAAgB,CAAA,kBAAA;AAAA,EAKpC,KAAO,EAAA,cAAA;AAAA,EACP,MAAQ,EAAA,cAAA;AAAA,EAER,WAAa,EAAA,cAAA;AAAA,EACb,cAAc,kBAAmB,CAAA,YAAA;AAAA,EAEjC,SAAW,EAAA,cAAA;AAAA,EACX,SAAW,EAAA,cAAA;AAAA,EAKX,OAAO,oBAAqB,CAAA,KAAA;AAAA,EAC5B,cAAgB,EAAA,OAAA;AAAA,EAChB,mBAAmB,oBAAqB,CAAA,iBAAA;AAAA,EACxC,mBAAmB,oBAAqB,CAAA,iBAAA;AAAA,EACxC,iBAAiB,oBAAqB,CAAA,eAAA;AAAA,EAKtC,KAAO,EAAA,SAAA;AAAA,EACP,KAAO,EAAA,SAAA;AAAA,EACP,cAAgB,EAAA,SAAA;AAAA,EAEhB,YAAc,EAAA;AAAA,IACZ,IAAA,EAAM,eAAyB,QAAQ,CAAA;AAAA,IACvC,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,QAAQ,eAAgB,CAAA,MAAA;AAAA,EAKxB,cAAgB,EAAA;AAAA,IACd,IAAA,EAAM,eAAsD,QAAQ,CAAA;AAAA,GACtE;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAAyC,QAAQ,CAAA;AAAA,GACzD;AACF,CAAU;;;;"}