{"version":3,"file":"props.cjs","sources":["../../../components/table/props.ts"],"sourcesContent":["import {\n  booleanProp,\n  buildProps,\n  classProp,\n  eventProp,\n  localeProp,\n  sizeProp,\n  styleProp,\n} from '@vexip-ui/config'\n\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { ClassType, ConfigurableProps, StyleType } from '@vexip-ui/config'\nimport type { TooltipTheme } from '@/components/tooltip'\nimport type {\n  Accessor,\n  ColumnCellSpanFn,\n  ColumnRenderFn,\n  ColumnSummaryRenderFn,\n  Data,\n  DropType,\n  ExpandRenderFn,\n  FilterRenderFn,\n  HeadRenderFn,\n  SummaryCellSpanFn,\n  SummaryRenderFn,\n  TableCellPayload,\n  TableCellPropFn,\n  TableCellSpanFn,\n  TableColResizeType,\n  TableColumnRawOptions,\n  TableColumnType,\n  TableFilterOptions,\n  TableFilterProfile,\n  TableFootPayload,\n  TableFootPropFn,\n  TableHeadPayload,\n  TableHeadPropFn,\n  TableIcons,\n  TableKeyConfig,\n  TableRowPayload,\n  TableRowPropFn,\n  TableSlots,\n  TableSorterOptions,\n  TableSorterProfile,\n  TableSummaryOptions,\n  TableTextAlign,\n} from './symbol'\n\nexport const tableProps = buildProps({\n  locale: localeProp('table'),\n  columns: Array as PropType<TableColumnRawOptions[]>,\n  summaries: Array as PropType<TableSummaryOptions<any, any>[]>,\n  data: Array as PropType<Data[]>,\n  width: [Number, String],\n  height: Number,\n  minHeight: Number,\n  rowClass: [String, Object, Array, Function] as PropType<ClassType | TableRowPropFn<ClassType>>,\n  rowStyle: [String, Object, Array, Function] as PropType<StyleType | TableRowPropFn<StyleType>>,\n  rowAttrs: [Object, Function] as PropType<\n    Record<string, any> | TableRowPropFn<Record<string, any>>\n  >,\n  stripe: booleanProp,\n  border: booleanProp,\n  highlight: booleanProp,\n  useXBar: booleanProp,\n  useYBar: booleanProp,\n  barFade: Number,\n  rowDraggable: booleanProp,\n  rowHeight: Number,\n  rowMinHeight: Number,\n  virtual: booleanProp,\n  bufferCount: Number,\n  scrollClass: Object as PropType<{\n    horizontal?: ClassType,\n    major?: ClassType,\n    left?: ClassType,\n    right?: ClassType\n  }>,\n  expandRenderer: Function as PropType<ExpandRenderFn>,\n  currentPage: Number,\n  pageSize: Number,\n  transparent: booleanProp,\n  tooltipTheme: String as PropType<TooltipTheme>,\n  tooltipWidth: [Number, String],\n  singleSorter: booleanProp,\n  singleFilter: booleanProp,\n  cellClass: [String, Object, Array, Function] as PropType<\n    ClassType | TableCellPropFn<any, ClassType>\n  >,\n  cellStyle: [String, Object, Array, Function] as PropType<\n    StyleType | TableCellPropFn<any, StyleType>\n  >,\n  cellAttrs: [Object, Function] as PropType<\n    Record<string, any> | TableCellPropFn<any, Record<string, any>>\n  >,\n  headClass: [String, Object, Array, Function] as PropType<ClassType | TableHeadPropFn<ClassType>>,\n  headStyle: [String, Object, Array, Function] as PropType<StyleType | TableHeadPropFn<StyleType>>,\n  headAttrs: [Object, Function] as PropType<\n    Record<string, any> | TableHeadPropFn<Record<string, any>>\n  >,\n  footClass: [String, Object, Array, Function] as PropType<ClassType | TableFootPropFn<ClassType>>,\n  footStyle: [String, Object, Array, Function] as PropType<StyleType | TableFootPropFn<StyleType>>,\n  footAttrs: [Object, Function] as PropType<\n    Record<string, any> | TableFootPropFn<Record<string, any>>\n  >,\n  customSorter: booleanProp,\n  customFilter: booleanProp,\n  keyConfig: Object as PropType<TableKeyConfig>,\n  disabledTree: booleanProp,\n  rowIndent: [String, Number],\n  noCascaded: booleanProp,\n  colResizable: {\n    type: [Boolean, String] as PropType<boolean | TableColResizeType>,\n    default: null,\n  },\n  cellSpan: Function as PropType<TableCellSpanFn>,\n  sidePadding: [Number, Array] as PropType<number | number[]>,\n  icons: Object as PropType<TableIcons>,\n  borderWidth: Number,\n  dataFilter: Function as PropType<(data: Data) => boolean>,\n  noTransition: booleanProp,\n  ellipsis: booleanProp,\n  slots: Object as PropType<TableSlots>,\n  onScroll:\n    eventProp<\n      (payload: { type: 'horizontal' | 'vertical', client: number, percent: number }) => void\n    >(),\n  onRowEnter: eventProp<(payload: TableRowPayload) => void>(),\n  onRowLeave: eventProp<(payload: TableRowPayload) => void>(),\n  onRowClick: eventProp<(payload: TableRowPayload) => void>(),\n  onRowDblclick: eventProp<(payload: TableRowPayload) => void>(),\n  onRowContextmenu: eventProp<(payload: TableRowPayload) => void>(),\n  onRowCheck: eventProp<(payload: TableRowPayload) => void>(),\n  onRowCheckAll: eventProp<(checked: boolean, partial: boolean) => void>(),\n  onRowExpand: eventProp<(payload: TableRowPayload) => void>(),\n  onRowTreeExpand: eventProp<(payload: TableRowPayload) => void>(),\n  onRowDragStart: eventProp<(row: Data, event: DragEvent) => void>(),\n  onRowDragOver: eventProp<(row: Data, event: DragEvent) => void>(),\n  onRowDrop: eventProp<(row: Data, type: DropType, event: DragEvent) => void>(),\n  onRowDragEnd: eventProp<(row: Data, allRows: Data[], event: DragEvent) => void>(),\n  onRowFilter: eventProp<(profiles: TableFilterProfile[], filteredRow: Data[]) => void>(),\n  onRowSort: eventProp<(profiles: TableSorterProfile[], sortedRow: Data[]) => void>(),\n  onCellEnter: eventProp<(payload: TableCellPayload) => void>(),\n  onCellLeave: eventProp<(payload: TableCellPayload) => void>(),\n  onCellClick: eventProp<(payload: TableCellPayload) => void>(),\n  onCellDblclick: eventProp<(payload: TableCellPayload) => void>(),\n  onCellContextmenu: eventProp<(payload: TableCellPayload) => void>(),\n  onHeadEnter: eventProp<(payload: TableHeadPayload) => void>(),\n  onHeadLeave: eventProp<(payload: TableHeadPayload) => void>(),\n  onHeadClick: eventProp<(payload: TableHeadPayload) => void>(),\n  onHeadDblclick: eventProp<(payload: TableHeadPayload) => void>(),\n  onHeadContextmenu: eventProp<(payload: TableHeadPayload) => void>(),\n  onColResizeStart: eventProp<(payload: TableHeadPayload) => void>(),\n  onColResizeMove: eventProp<(payload: TableHeadPayload) => void>(),\n  onColResizeEnd: eventProp<(payload: TableHeadPayload) => void>(),\n  onFootEnter: eventProp<(payload: TableFootPayload) => void>(),\n  onFootLeave: eventProp<(payload: TableFootPayload) => void>(),\n  onFootClick: eventProp<(payload: TableFootPayload) => void>(),\n  onFootDblclick: eventProp<(payload: TableFootPayload) => void>(),\n  onFootContextmenu: eventProp<(payload: TableFootPayload) => void>(),\n})\n\nexport type TableProps = ExtractPropTypes<typeof tableProps>\nexport type TableCProps = ConfigurableProps<\n  TableProps,\n  'columns' | 'data' | 'currentPage' | 'summaries'\n>\n\nexport const tableColumnProps = buildProps({\n  idKey: [Number, String],\n  name: String,\n  accessor: Function as PropType<Accessor>,\n  fixed: {\n    type: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n    default: null,\n  },\n  class: classProp,\n  style: styleProp,\n  attrs: Object,\n  type: String as PropType<TableColumnType>,\n  width: [Number, String] as PropType<number | `${number}%`>,\n  minWidth: Number,\n  maxWidth: Number,\n  filter: Object as PropType<TableFilterOptions<any, any>>,\n  sorter: {\n    type: [Boolean, Object] as PropType<boolean | TableSorterOptions<any>>,\n    default: null,\n  },\n  renderer: Function as PropType<ColumnRenderFn>,\n  headRenderer: Function as PropType<HeadRenderFn>,\n  filterRenderer: Function as PropType<FilterRenderFn>,\n  order: Number,\n  ellipsis: booleanProp,\n  checkboxSize: sizeProp,\n  selectionSize: sizeProp,\n  disableRow: Function as PropType<(data: Data) => boolean>,\n  truthIndex: booleanProp,\n  orderLabel: Function as PropType<(index: number) => string | number>,\n  meta: Object as PropType<any>,\n  textAlign: String as PropType<TableTextAlign>,\n  headSpan: Number,\n  cellSpan: Function as PropType<ColumnCellSpanFn>,\n  noSummary: booleanProp,\n  summaryRenderer: Function as PropType<ColumnSummaryRenderFn>,\n  indented: booleanProp,\n  formatter: Function as PropType<(value: any) => unknown>,\n  singleSelect: booleanProp,\n})\n\nexport type TableColumnProps = ExtractPropTypes<typeof tableColumnProps>\nexport type TableColumnCProps = ConfigurableProps<\n  TableColumnProps,\n  | 'idKey'\n  | 'name'\n  | 'accessor'\n  | 'fixed'\n  | 'type'\n  | 'renderer'\n  | 'headRenderer'\n  | 'order'\n  | 'headSpan'\n  | 'summaryRenderer'\n>\n\nexport const tableColumnGroupProps = buildProps({\n  name: String,\n  fixed: {\n    type: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n    default: null,\n  },\n  order: Number,\n  ellipsis: booleanProp,\n  textAlign: String as PropType<TableTextAlign>,\n  renderer: Function as PropType<() => any>,\n  children: Array as PropType<TableColumnRawOptions[]>,\n})\n\nexport type TableColumnGroupProps = ExtractPropTypes<typeof tableColumnGroupProps>\nexport type TableColumnGroupCProps = ConfigurableProps<TableColumnProps, 'name' | 'fixed' | 'order'>\n\nexport const tableSummaryProps = buildProps({\n  idKey: [Number, String],\n  name: String,\n  class: classProp,\n  style: styleProp,\n  attrs: Object,\n  cellSpan: Function as PropType<SummaryCellSpanFn>,\n  order: Number,\n  above: booleanProp,\n  meta: Object as PropType<any>,\n  renderer: Function as PropType<SummaryRenderFn>,\n})\n\nexport type TableSummaryProps = ExtractPropTypes<typeof tableSummaryProps>\nexport type TableSummaryCProps = ConfigurableProps<\n  TableSummaryProps,\n  'idKey' | 'name' | 'renderer' | 'colSpan' | 'order' | 'above'\n>\n"],"names":["tableProps","buildProps","localeProp","booleanProp","eventProp","tableColumnProps","classProp","styleProp","sizeProp","tableColumnGroupProps","tableSummaryProps"],"mappings":"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"}