{"version":3,"file":"table-select.mjs","sources":["../../../../../packages/components/table-select/src/table-select.ts"],"sourcesContent":["import type { EmitFn } from '@element-ultra/utils'\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { TableColumn } from '@element-ultra/components/table'\nimport { SizeProp } from '@element-ultra/shared'\n\nexport interface TableSelectColumn extends TableColumn {\n  sortable?: boolean\n}\n\nexport const tableSelectProps = {\n  /** 选择的值 */\n  modelValue: {\n    type: [Object, Array] as PropType<\n      Record<string, any> | Record<string, any>[]\n    >\n  },\n\n  rowDisabled: {\n    type: Function as PropType<(row: any, rowIndex: number) => boolean>\n  },\n\n  /** 列, 属性可以查看pro-table的属性 */\n  columns: {\n    type: Array as PropType<TableSelectColumn[]>,\n    required: true\n  },\n  dialogColumns: {\n    type: Array as PropType<TableSelectColumn[]>\n  },\n  /** 弹框中可选择的数据 */\n  data: {\n    type: Array as PropType<Record<string, any>[]>\n  },\n\n  /** 接口数据映射 */\n  dataMap: {\n    type: Function as PropType<(data: any[]) => any[]>\n  },\n\n  /** 是否多选 */\n  multiple: {\n    type: Boolean,\n    default: false\n  },\n  /** 弹框中可选择的数据的请求接口, 可以在全局配置中设置请求方法 */\n  api: {\n    type: String,\n    default: ''\n  },\n  /** 应用分页 */\n  pagination: {\n    type: Boolean,\n    default: false\n  },\n  /** 显示序号 */\n  showIndex: {\n    type: Boolean,\n    default: false\n  },\n  clearText: {\n    type: String,\n    default: '清空'\n  },\n  /** 查询对象, 从外部传进来 */\n  query: {\n    type: Object as PropType<Record<string, any>>\n  },\n  /** 值的key, 可用于回显时对对象的标记 */\n  valueKey: {\n    type: String,\n    default: 'id'\n  },\n  /** 弹框标题 */\n  dialogTitle: {\n    type: String,\n    default: ''\n  },\n\n  /** 是否隐藏显示的表格 */\n  hide: {\n    type: Boolean\n  },\n\n  /** 是否隐藏触发器 */\n  noTrigger: {\n    type: Boolean\n  },\n\n  /** 弹框宽度 */\n  dialogWidth: {\n    type: [String, Number] as PropType<string | number>\n  },\n  /** 过滤列, (仅过滤弹框中的列) */\n  columnFilter: {\n    type: Function as PropType<(column: TableSelectColumn) => boolean>\n  },\n\n  size: SizeProp,\n\n  /** 是否禁用 */\n  disabled: {\n    type: Boolean\n  },\n\n  /** 是否可选择 */\n  clearable: {\n    type: Boolean\n  },\n\n  defaultPageSize: {\n    type: Number,\n    default: 20\n  },\n\n  /** 请求的额外数据, 主要用来定义post请求的logic信息 */\n  requestExtra: {\n    type: Object as PropType<Record<string, any>>\n  }\n} as const\n\nexport type TableSelectProps = ExtractPropTypes<typeof tableSelectProps>\n\nexport const tableSelectEmits = {\n  'update:modelValue': (v: TableSelectProps['modelValue'] | null) => true,\n  change: (v: TableSelectProps['modelValue'] | null) => true\n}\n\nexport type TableSelectEmits = EmitFn<typeof tableSelectEmits>\n"],"names":[],"mappings":";;;AASO,MAAM,gBAAmB,GAAA;AAAA;AAAA,EAE9B,UAAY,EAAA;AAAA,IACV,IAAA,EAAM,CAAC,MAAA,EAAQ,KAAK,CAAA;AAAA,GAGtB;AAAA,EAEA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,QAAA;AAAA,GACR;AAAA;AAAA,EAGA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,KAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,KAAA;AAAA,GACR;AAAA;AAAA,EAEA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,KAAA;AAAA,GACR;AAAA;AAAA,EAGA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,QAAA;AAAA,GACR;AAAA;AAAA,EAGA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAGA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,OAAA;AAAA,GACR;AAAA;AAAA,EAGA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,GACR;AAAA;AAAA,EAGA,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,GACvB;AAAA;AAAA,EAEA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,QAAA;AAAA,GACR;AAAA,EAEA,IAAM,EAAA,QAAA;AAAA;AAAA,EAGN,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,GACR;AAAA;AAAA,EAGA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EAEA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAGA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,GACR;AACF,EAAA;AAIO,MAAM,gBAAmB,GAAA;AAAA,EAC9B,mBAAA,EAAqB,CAAC,CAA6C,KAAA,IAAA;AAAA,EACnE,MAAA,EAAQ,CAAC,CAA6C,KAAA,IAAA;AACxD;;;;"}