UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 6.1 kB
{"version":3,"file":"style.helper.mjs","sources":["../../../../../../../packages/components/table/src/table-header/style.helper.ts"],"sourcesContent":["import { inject } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isFunction, isString } from '@element-plus/utils'\nimport {\n ensurePosition,\n getFixedColumnOffset,\n getFixedColumnsClass,\n} from '../util'\nimport { TABLE_INJECTION_KEY } from '../tokens'\n\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { DefaultRow } from '../table/defaults'\nimport type { TableHeaderProps } from '.'\n\nfunction useStyle<T extends DefaultRow>(props: TableHeaderProps<T>) {\n const parent = inject(TABLE_INJECTION_KEY)\n const ns = useNamespace('table')\n\n const getHeaderRowStyle = (rowIndex: number) => {\n const headerRowStyle = parent?.props.headerRowStyle\n if (isFunction(headerRowStyle)) {\n return headerRowStyle.call(null, { rowIndex })\n }\n return headerRowStyle\n }\n\n const getHeaderRowClass = (rowIndex: number): string => {\n const classes: string[] = []\n const headerRowClassName = parent?.props.headerRowClassName\n if (isString(headerRowClassName)) {\n classes.push(headerRowClassName)\n } else if (isFunction(headerRowClassName)) {\n classes.push(headerRowClassName.call(null, { rowIndex }))\n }\n\n return classes.join(' ')\n }\n\n const getHeaderCellStyle = (\n rowIndex: number,\n columnIndex: number,\n row: T,\n column: TableColumnCtx<T>\n ) => {\n let headerCellStyles = parent?.props.headerCellStyle ?? {}\n if (isFunction(headerCellStyles)) {\n headerCellStyles = headerCellStyles.call(null, {\n rowIndex,\n columnIndex,\n row,\n column,\n })\n }\n const fixedStyle = getFixedColumnOffset<T>(\n columnIndex,\n column.fixed,\n props.store,\n row as unknown as TableColumnCtx<T>[]\n )\n ensurePosition(fixedStyle, 'left')\n ensurePosition(fixedStyle, 'right')\n return Object.assign({}, headerCellStyles, fixedStyle)\n }\n\n const getHeaderCellClass = (\n rowIndex: number,\n columnIndex: number,\n row: T,\n column: TableColumnCtx<T>\n ) => {\n const fixedClasses = getFixedColumnsClass<T>(\n ns.b(),\n columnIndex,\n column.fixed,\n props.store,\n row as unknown as TableColumnCtx<T>[]\n )\n const classes = [\n column.id,\n column.order,\n column.headerAlign,\n column.className,\n column.labelClassName,\n ...fixedClasses,\n ]\n\n if (!column.children) {\n classes.push('is-leaf')\n }\n\n if (column.sortable) {\n classes.push('is-sortable')\n }\n\n const headerCellClassName = parent?.props.headerCellClassName\n if (isString(headerCellClassName)) {\n classes.push(headerCellClassName)\n } else if (isFunction(headerCellClassName)) {\n classes.push(\n headerCellClassName.call(null, {\n rowIndex,\n columnIndex,\n row,\n column,\n })\n )\n }\n\n classes.push(ns.e('cell'))\n\n return classes.filter((className) => Boolean(className)).join(' ')\n }\n\n return {\n getHeaderRowStyle,\n getHeaderRowClass,\n getHeaderCellStyle,\n getHeaderCellClass,\n }\n}\n\nexport default useStyle\n"],"names":[],"mappings":"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"}