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