{"version":3,"file":"defaults.mjs","sources":["../../../../../../../packages/components/table/src/table-column/defaults.ts"],"sourcesContent":["// @ts-nocheck\r\nimport type { ComponentInternalInstance, PropType, Ref, VNode } from 'vue'\r\nimport type { DefaultRow, Table } from '../table/defaults'\r\nimport type { TableOverflowTooltipOptions } from '../util'\r\n\r\ntype CI<T> = { column: TableColumnCtx<T>; $index: number }\r\n\r\ntype Filters = {\r\n  text: string\r\n  value: string\r\n}[]\r\n\r\ntype FilterMethods<T> = (value, row: T, column: TableColumnCtx<T>) => void\r\n\r\ntype ValueOf<T> = T[keyof T]\r\n\r\ninterface TableColumnCtx<T> {\r\n  id: string\r\n  realWidth: number\r\n  type: string\r\n  label: string\r\n  className: string\r\n  labelClassName: string\r\n  property: string\r\n  prop: string\r\n  width: string | number\r\n  minWidth: string | number\r\n  renderHeader: (data: CI<T>) => VNode\r\n  sortable: boolean | string\r\n  sortMethod: (a: T, b: T) => number\r\n  sortBy: string | ((row: T, index: number) => string) | string[]\r\n  resizable: boolean\r\n  columnKey: string\r\n  rawColumnKey: string\r\n  align: string\r\n  headerAlign: string\r\n  showOverflowTooltip?: boolean | TableOverflowTooltipOptions\r\n  fixed: boolean | string\r\n  formatter: (\r\n    row: T,\r\n    column: TableColumnCtx<T>,\r\n    cellValue,\r\n    index: number\r\n  ) => VNode | string\r\n  selectable: (row: T, index: number) => boolean\r\n  reserveSelection: boolean\r\n  filterMethod: FilterMethods<T>\r\n  filteredValue: string[]\r\n  filters: Filters\r\n  filterPlacement: string\r\n  filterMultiple: boolean\r\n  index: number | ((index: number) => number)\r\n  sortOrders: ('ascending' | 'descending' | null)[]\r\n  renderCell: (data: any) => void\r\n  colSpan: number\r\n  rowSpan: number\r\n  children: TableColumnCtx<T>[]\r\n  level: number\r\n  filterable: boolean | FilterMethods<T> | Filters\r\n  order: string\r\n  isColumnGroup: boolean\r\n  isSubColumn: boolean\r\n  columns: TableColumnCtx<T>[]\r\n  getColumnIndex: () => number\r\n  no: number\r\n  filterOpened?: boolean\r\n}\r\n\r\ninterface TableColumn<T> extends ComponentInternalInstance {\r\n  vnode: {\r\n    vParent: TableColumn<T> | Table<T>\r\n  } & VNode\r\n  vParent: TableColumn<T> | Table<T>\r\n  columnId: string\r\n  columnConfig: Ref<Partial<TableColumnCtx<T>>>\r\n}\r\n\r\nexport type { Filters, FilterMethods, TableColumnCtx, TableColumn, ValueOf }\r\n\r\nexport default {\r\n  type: {\r\n    type: String,\r\n    default: 'default',\r\n  },\r\n  label: String,\r\n  className: String,\r\n  labelClassName: String,\r\n  property: String,\r\n  prop: String,\r\n  width: {\r\n    type: [String, Number],\r\n    default: '',\r\n  },\r\n  minWidth: {\r\n    type: [String, Number],\r\n    default: '',\r\n  },\r\n  renderHeader: Function as PropType<\r\n    TableColumnCtx<DefaultRow>['renderHeader']\r\n  >,\r\n  sortable: {\r\n    type: [Boolean, String],\r\n    default: false,\r\n  },\r\n  sortMethod: Function as PropType<TableColumnCtx<DefaultRow>['sortMethod']>,\r\n  sortBy: [String, Function, Array] as PropType<\r\n    TableColumnCtx<DefaultRow>['sortBy']\r\n  >,\r\n  resizable: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  columnKey: String,\r\n  align: String,\r\n  headerAlign: String,\r\n  showOverflowTooltip: {\r\n    type: [Boolean, Object] as PropType<\r\n      TableColumnCtx<DefaultRow>['showOverflowTooltip']\r\n    >,\r\n    default: undefined,\r\n  },\r\n  fixed: [Boolean, String],\r\n  formatter: Function as PropType<TableColumnCtx<DefaultRow>['formatter']>,\r\n  selectable: Function as PropType<TableColumnCtx<DefaultRow>['selectable']>,\r\n  reserveSelection: Boolean,\r\n  filterMethod: Function as PropType<\r\n    TableColumnCtx<DefaultRow>['filterMethod']\r\n  >,\r\n  filteredValue: Array as PropType<TableColumnCtx<DefaultRow>['filteredValue']>,\r\n  filters: Array as PropType<TableColumnCtx<DefaultRow>['filters']>,\r\n  filterPlacement: String,\r\n  filterMultiple: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  index: [Number, Function] as PropType<TableColumnCtx<DefaultRow>['index']>,\r\n  sortOrders: {\r\n    type: Array as PropType<TableColumnCtx<DefaultRow>['sortOrders']>,\r\n    default: () => {\r\n      return ['ascending', 'descending', null]\r\n    },\r\n    validator: (val: TableColumnCtx<unknown>['sortOrders']) => {\r\n      return val.every((order: string) =>\r\n        ['ascending', 'descending', null].includes(order)\r\n      )\r\n    },\r\n  },\r\n}\r\n"],"names":[],"mappings":"AAAA,mBAAe;AACf,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,SAAS;AACtB,GAAG;AACH,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,cAAc,EAAE,MAAM;AACxB,EAAE,QAAQ,EAAE,MAAM;AAClB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,YAAY,EAAE,QAAQ;AACxB,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC3B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE,QAAQ;AACtB,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;AACnC,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,mBAAmB,EAAE;AACvB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC3B,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC1B,EAAE,SAAS,EAAE,QAAQ;AACrB,EAAE,UAAU,EAAE,QAAQ;AACtB,EAAE,gBAAgB,EAAE,OAAO;AAC3B,EAAE,YAAY,EAAE,QAAQ;AACxB,EAAE,aAAa,EAAE,KAAK;AACtB,EAAE,OAAO,EAAE,KAAK;AAChB,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC3B,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK;AACxB,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACrF,KAAK;AACL,GAAG;AACH,CAAC;;;;"}