{"version":3,"file":"defaults.mjs","sources":["../../../../../../src/components/ivue-table/table/defaults.ts"],"sourcesContent":["import type {\r\n  ComponentInternalInstance,\r\n  VNode,\r\n  Ref,\r\n  PropType,\r\n  CSSProperties,\r\n  InjectionKey,\r\n} from 'vue';\r\nimport { oneOf } from '../../../utils/assist';\r\n\r\nimport type { TableColumnCtx } from '../table-column/defaults';\r\nimport type { Store } from '../store/index';\r\nimport type TableLayout from '../table-layout';\r\n\r\n// 列表行hover状态\r\ntype HoverState = NonNullable<{\r\n  cell: HTMLElement;\r\n  column: TableColumnCtx;\r\n  row: TableColumnCtx;\r\n}>;\r\n\r\n// 渲染可展开的按钮的内容\r\ntype RenderExpanded = ({ row, $index, store, expanded }: Column) => VNode;\r\n\r\n// 列表行\r\ntype Column = {\r\n  row: TableColumnCtx;\r\n  $index: number;\r\n  store: Store;\r\n  expanded: boolean;\r\n};\r\n\r\n// 列表行样式\r\ntype ColumnCls =\r\n  | string\r\n  | ((data: { row: TableColumnCtx; rowIndex: number }) => string);\r\n\r\ntype ColumnStyle =\r\n  | CSSProperties\r\n  | ((data: { row: TableColumnCtx; rowIndex: number }) => CSSProperties);\r\n\r\n// 自定义的合计计算方法\r\ntype SummaryMethod = (data: {\r\n  columns: TableColumnCtx[];\r\n  data: any[];\r\n}) => string[];\r\n\r\n// 设置表格单元、行和列的布局方式\r\ntype Layout = 'fixed' | 'auto';\r\n\r\ntype CellStyle =\r\n  | CSSProperties\r\n  | ((data: {\r\n      row: TableColumnCtx;\r\n      rowIndex: number;\r\n      column: TableColumnCtx;\r\n      columnIndex: number;\r\n    }) => CSSProperties);\r\n\r\ntype CellCls =\r\n  | string\r\n  | ((data: {\r\n      row: TableColumnCtx;\r\n      rowIndex: number;\r\n      column: TableColumnCtx;\r\n      columnIndex: number;\r\n    }) => string);\r\n\r\n// refs\r\ninterface TableRefs {\r\n  tableWrapper?: HTMLElement;\r\n  headerWrapper?: HTMLElement;\r\n  footerWrapper?: HTMLElement;\r\n  fixedBodyWrapper?: HTMLElement;\r\n  rightFixedBodyWrapper?: HTMLElement;\r\n  bodyWrapper?: HTMLElement;\r\n  [key: string]: any;\r\n}\r\n\r\n// 树节点\r\ninterface TreeNode {\r\n  expanded?: boolean;\r\n  loading?: boolean;\r\n  noLazyChildren?: boolean;\r\n  indent?: number;\r\n  level?: number;\r\n  display?: boolean;\r\n}\r\n\r\n// 渲染行数据\r\ninterface RenderRowData {\r\n  treeNode?: TreeNode;\r\n  store: Store;\r\n  _self: Table;\r\n  expanded: boolean;\r\n  column: TableColumnCtx;\r\n  row: TableColumnCtx;\r\n  $index: number;\r\n  cellIndex: number;\r\n}\r\n\r\n// 表格状态\r\ninterface TableState {\r\n  isGroup: Ref<boolean>;\r\n  resizeState: Ref<{\r\n    width: null | number;\r\n    height: null | number;\r\n  }>;\r\n  updateLayout: () => void;\r\n  debouncedUpdateLayout: () => void;\r\n}\r\n\r\n// 过滤\r\ninterface Filter {\r\n  column: TableColumnCtx;\r\n  values: string[];\r\n  silent: boolean;\r\n}\r\n\r\ninterface Sort {\r\n  prop: string;\r\n  order: 'ascending' | 'descending';\r\n  init?: boolean;\r\n  silent?: boolean;\r\n}\r\n\r\n// 表格 data\r\ninterface Table extends ComponentInternalInstance {\r\n  // onMounted 是否渲染完成\r\n  $ready?: boolean;\r\n  // 列表行hover状态\r\n  hoverState?: HoverState | null;\r\n  // 渲染可展开的按钮的内容\r\n  renderExpanded?: RenderExpanded;\r\n  // store\r\n  store?: Store;\r\n  // layout\r\n  layout?: TableLayout;\r\n  // refs\r\n  refs: TableRefs;\r\n  // id\r\n  tableId?: string;\r\n  // 行id\r\n  columnId?: string;\r\n  // 表格状态\r\n  state?: TableState;\r\n}\r\n\r\n// 表格 props\r\ninterface TableProps {\r\n  data: any[];\r\n  // 列的宽度是否自撑开\r\n  fit?: boolean;\r\n  // 是否带有纵向边框\r\n  border: boolean;\r\n  // Table 的最大高度。 合法的值为数字或者单位为 px 的高度。\r\n  maxHeight: string | number;\r\n  // 是否显示表头\r\n  showHeader?: boolean;\r\n  // 渲染嵌套数据的配置选项\r\n  // { hasChildren: 'hasChildren', children: 'children' }\r\n  treeProps?: {\r\n    hasChildren?: string;\r\n    children?: string;\r\n  };\r\n  // 行数据的 Key\r\n  rowKey?: string | ((row: TableColumnCtx) => string);\r\n  // 是否默认展开所有行，当 Table 包含展开行存在或者为树形表格时有效\r\n  defaultExpandAll?: boolean;\r\n  // 在多选表格中，当仅有部分行被选中时，点击表头的多选框时的行为。\r\n  // 若为 true，则选中所有行；若为 false，则取消选择所有行\r\n  selectOnIndeterminate?: boolean;\r\n  // 是否懒加载子节点数据\r\n  lazy?: boolean;\r\n  // 是否在表尾显示合计行\r\n  showSummary?: boolean;\r\n  // 设置表格单元、行和列的布局方式\r\n  tableLayout: Layout;\r\n  // Table 的高度 默认为自动高度\r\n  height?: string | number;\r\n  // 默认的排序列的 prop 和顺序。\r\n  // 它的 prop 属性指定默认的排序的列，order 指定默认排序的顺序\r\n  defaultSort?: Sort;\r\n  // 内容\r\n  context?: Table;\r\n  // 是否为斑马纹 table\r\n  stripe?: boolean;\r\n  // 行的 className 的回调方法，也可以使用字符串为所有行设置一个固定的 className。\r\n  rowClassName?: ColumnCls;\r\n  // 行的 style 的回调方法，也可以使用一个固定的 Object 为所有行设置一样的 Style\r\n  rowStyle?: ColumnStyle;\r\n  // 是否要高亮当前行\r\n  highlightCurrentRow?: boolean;\r\n  // 以通过该属性设置 Table 目前的展开行\r\n  expandRowKeys?: any[];\r\n  // 加载子节点数据的函数\r\n  load?: (\r\n    row: TableColumnCtx,\r\n    treeNode: TreeNode,\r\n    resolve: (data: any[]) => void\r\n  ) => void;\r\n  // 合计行第一列的文本\r\n  sumText?: string;\r\n  // 自定义的合计计算方法\r\n  summaryMethod?: SummaryMethod;\r\n  // 合并行或列的计算方法\r\n  spanMethod?: (data: {\r\n    row: TableColumnCtx;\r\n    rowIndex: number;\r\n    column: TableColumnCtx;\r\n    columnIndex: number;\r\n  }) =>\r\n    | number[]\r\n    | {\r\n        rowspan: number;\r\n        colspan: number;\r\n      }\r\n    | undefined;\r\n  // 表头单元格的 style 的回调方法，也可以使用一个固定的 Object 为所有表头单元格设置一样的 Style\r\n  headerCellStyle?: CellStyle;\r\n  // 表头单元格的 className 的回调方法，也可以使用字符串为所有表头单元格设置一个固定的 className\r\n  headerCellClassName?: CellCls;\r\n  // 表头行的 style 的回调方法，也可以使用一个固定的 Object 为所有表头行设置一样的 Style\r\n  headerRowStyle?: ColumnStyle;\r\n  // 表头行的 className 的回调方法\r\n  headerRowClassName?: ColumnCls;\r\n  // 单元格的 style 的回调方法\r\n  cellStyle?: CellStyle;\r\n  // 单元格的 className 的回调方法\r\n  cellClassName?: CellCls;\r\n  // tooltip 主题\r\n  tooltipTheme?: 'dark' | 'light';\r\n  // tooltip点击是否阻止当前事件在捕获和冒泡阶段的进一步传播\r\n  tooltipStop?: boolean;\r\n}\r\n\r\n// 行样式\r\ntype rowClass =\r\n  | string\r\n  | ((data: { row: TableColumnCtx; rowIndex: number }) => string);\r\n\r\n// 行的 style 的回调方法，也可以使用一个固定的 Object 为所有行设置一样的 Style。\r\ntype rowStyle =\r\n  | CSSProperties\r\n  | ((data: { row: TableColumnCtx; rowIndex: number }) => CSSProperties);\r\n\r\nexport const TableContextKey: InjectionKey<Table> = Symbol('ivue-table');\r\n\r\nexport default {\r\n  /**\r\n   * 显示的数据\r\n   *\r\n   * @type {Array}\r\n   */\r\n  data: {\r\n    type: Array as PropType<TableColumnCtx[]>,\r\n    default: () => {\r\n      return [];\r\n    },\r\n  },\r\n  /**\r\n   * 列的宽度是否自撑开\r\n   *\r\n   * @type {Boolean}\r\n   */\r\n  fit: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  /**\r\n   * 是否带有纵向边框\r\n   *\r\n   * @type {Boolean}\r\n   */\r\n  border: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  /**\r\n   * Table 的高度， 默认为自动高度。\r\n   * 如果 height 为 number 类型，单位 px；\r\n   * 如果 height 为 string 类型，\r\n   * 则这个高度会设置为 Table 的 style.height 的值，\r\n   * Table 的高度会受控于外部样式。\r\n   *\r\n   * @type {String | Number}\r\n   */\r\n  height: {\r\n    type: [String, Number],\r\n    default: null,\r\n  },\r\n  /**\r\n   * Table 的最大高度。 合法的值为数字或者单位为 px 的高度。\r\n   *\r\n   * @type {String, Number}\r\n   */\r\n  maxHeight: {\r\n    type: [String, Number],\r\n    default: null,\r\n  },\r\n  /**\r\n   * 是否显示表头\r\n   *\r\n   * @type {Boolean}\r\n   */\r\n  showHeader: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  /**\r\n   * 渲染嵌套数据的配置选项\r\n   *\r\n   * { hasChildren: 'hasChildren', children: 'children' }\r\n   *\r\n   * @type {Object}\r\n   */\r\n  treeProps: {\r\n    type: Object as PropType<TableProps['treeProps']>,\r\n    default: () => {\r\n      return {\r\n        hasChildren: 'hasChildren',\r\n        children: 'children',\r\n      };\r\n    },\r\n  },\r\n  /**\r\n   * 行数据的 Key\r\n   *\r\n   * @type {String, Function}\r\n   */\r\n  rowKey: {\r\n    type: [String, Function] as PropType<TableProps['rowKey']>,\r\n  },\r\n  /**\r\n   * 是否默认展开所有行，当 Table 包含展开行存在或者为树形表格时有效\r\n   *\r\n   * @type {Boolean}\r\n   */\r\n  defaultExpandAll: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  /**\r\n   * 在多选表格中，当仅有部分行被选中时，点击表头的多选框时的行为。\r\n   * 若为 true，则选中所有行；若为 false，则取消选择所有行\r\n   *\r\n   * @type {Boolean}\r\n   */\r\n  selectOnIndeterminate: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  /**\r\n   * indent\t展示树形数据时，树节点的缩进\r\n   *\r\n   * @type {Number}\r\n   */\r\n  indent: {\r\n    type: Number,\r\n    default: 16,\r\n  },\r\n  /**\r\n   * 是否懒加载子节点数据\r\n   *\r\n   * @type {Boolean}\r\n   */\r\n  lazy: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  /**\r\n   * 是否在表尾显示合计行\r\n   *\r\n   * @type {Boolean}\r\n   */\r\n  showSummary: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  /**\r\n   * 设置表格单元、行和列的布局方式\r\n   *\r\n   * fixed / auto\r\n   *\r\n   * @type {String}\r\n   */\r\n  tableLayout: {\r\n    type: String as PropType<Layout>,\r\n    validator(value: string) {\r\n      return oneOf(value, ['fixed', 'auto']);\r\n    },\r\n    default: 'fixed',\r\n  },\r\n  /**\r\n   * 默认的排序列的 prop 和顺序。\r\n   * 它的 prop 属性指定默认的排序的列，order 指定默认排序的顺序\r\n   *\r\n   * @type {object}\r\n   */\r\n  defaultSort: {\r\n    type: Object as PropType<TableProps['defaultSort']>,\r\n  },\r\n  /**\r\n   * 提示\r\n   *\r\n   * @type {String}\r\n   */\r\n  placeholder: {\r\n    type: String,\r\n    default: 'No Data',\r\n  },\r\n  /**\r\n   * 滚动条总是显示\r\n   *\r\n   * @type {Boolean}\r\n   */\r\n  scrollbarAlways: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  /**\r\n   * 是否为斑马纹 table\r\n   *\r\n   * @type {Boolean}\r\n   */\r\n  stripe: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  /**\r\n   * 行的 className 的回调方法，也可以使用字符串为所有行设置一个固定的 className。\r\n   *\r\n   * @type {String | Function}\r\n   */\r\n  rowClassName: {\r\n    type: [String, Function] as PropType<TableProps['rowClassName']>,\r\n  },\r\n  /**\r\n   * 行的 style 的回调方法，也可以使用一个固定的 Object 为所有行设置一样的 Style。\r\n   *\r\n   * @type {Object, Function}\r\n   */\r\n  rowStyle: {\r\n    type: [Object, Function] as PropType<TableProps['rowStyle']>,\r\n  },\r\n  /**\r\n   * 是否要高亮当前行\r\n   *\r\n   * @type {Boolean}\r\n   */\r\n  highlightCurrentRow: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  /**\r\n   * 可以通过该属性设置 Table 目前的展开行\r\n   *\r\n   * @type {Array}\r\n   */\r\n  expandRowKeys: {\r\n    type: Array as PropType<TableProps['expandRowKeys']>,\r\n  },\r\n  /**\r\n   * 加载子节点数据的函数\r\n   *\r\n   * @type {Function}\r\n   */\r\n  load: {\r\n    type: Function as PropType<TableProps['load']>,\r\n  },\r\n  /**\r\n   * 合计行第一列的文本\r\n   *\r\n   * @type {String}\r\n   */\r\n  sumText: {\r\n    type: String,\r\n    default: '合计',\r\n  },\r\n  /**\r\n   * 自定义的合计计算方法\r\n   *\r\n   * @type {Function}\r\n   */\r\n  summaryMethod: {\r\n    type: Function as PropType<TableProps['summaryMethod']>,\r\n  },\r\n  /**\r\n   * 合并行或列的计算方法\r\n   *\r\n   * @type {Function}\r\n   */\r\n  spanMethod: {\r\n    type: Function as PropType<TableProps['spanMethod']>,\r\n  },\r\n  /**\r\n   * 表头单元格的 style 的回调方法，\r\n   * 也可以使用一个固定的 Object 为所有表头单元格设置一样的 Style\r\n   *\r\n   * @type {Object, Function}\r\n   */\r\n  headerCellStyle: {\r\n    type: [Object, Function] as PropType<TableProps['headerCellStyle']>,\r\n  },\r\n  /**\r\n   * 表头单元格的 className 的回调方法，\r\n   * 也可以使用字符串为所有表头单元格设置一个固定的 className\r\n   *\r\n   * @type {String, Function}\r\n   */\r\n  headerCellClassName: {\r\n    type: [String, Function] as PropType<TableProps['headerCellClassName']>,\r\n  },\r\n  /**\r\n   * 表头行的 style 的回调方法，\r\n   * 也可以使用一个固定的 Object 为所有表头行设置一样的 Style\r\n   *\r\n   * @type {Object, Function}\r\n   */\r\n  headerRowStyle: {\r\n    type: [Object, Function] as PropType<TableProps['headerRowStyle']>,\r\n  },\r\n  /**\r\n   * 表头行的 className 的回调方法\r\n   *\r\n   * @type {String, Function}\r\n   */\r\n  headerRowClassName: {\r\n    type: [String, Function] as PropType<TableProps['headerRowClassName']>,\r\n  },\r\n  /**\r\n   * 单元格的 style 的回调方法\r\n   *\r\n   * @type {Object, Function}\r\n   */\r\n  cellStyle: {\r\n    type: [Object, Function] as PropType<TableProps['cellStyle']>,\r\n  },\r\n  /**\r\n   * 单元格的 className 的回调方法\r\n   *\r\n   * @type {String, Function}\r\n   */\r\n  cellClassName: {\r\n    type: [String, Function] as PropType<TableProps['cellClassName']>,\r\n  },\r\n  /**\r\n   * tooltip主题\r\n   *\r\n   * @type {String}\r\n   */\r\n  tooltipTheme: {\r\n    type: String as PropType<TableProps['tooltipTheme']>,\r\n    validator(value: string) {\r\n      return oneOf(value, ['dark', 'light']);\r\n    },\r\n    default: 'dark',\r\n  },\r\n  /**\r\n   * tooltip点击是否阻止当前事件在捕获和冒泡阶段的进一步传播\r\n   *\r\n   * @type {String}\r\n   */\r\n  tooltipStop: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n};\r\n\r\nexport type {\r\n  Table,\r\n  TableProps,\r\n  TreeNode,\r\n  RenderRowData,\r\n  Sort,\r\n  rowClass,\r\n  rowStyle,\r\n  ColumnCls,\r\n  Filter,\r\n  SummaryMethod,\r\n  TableRefs,\r\n  RenderExpanded,\r\n};\r\n"],"names":[],"mappings":"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"}