1b44bc602316d3505be873987064dd38ea78cefe947ad4edde2735a294b6df7d4df44c5eed28b1512de42a87c19e609c5ff939b03567c6006fff83bc5a8bb2 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. var util = require('../util.js');
  5. var tokens = require('../tokens.js');
  6. var index = require('../../../../hooks/use-namespace/index.js');
  7. var shared = require('@vue/shared');
  8. function useStyle(props) {
  9. const parent = vue.inject(tokens.TABLE_INJECTION_KEY);
  10. const ns = index.useNamespace("table");
  11. const getHeaderRowStyle = (rowIndex) => {
  12. const headerRowStyle = parent == null ? void 0 : parent.props.headerRowStyle;
  13. if (shared.isFunction(headerRowStyle)) {
  14. return headerRowStyle.call(null, { rowIndex });
  15. }
  16. return headerRowStyle;
  17. };
  18. const getHeaderRowClass = (rowIndex) => {
  19. const classes = [];
  20. const headerRowClassName = parent == null ? void 0 : parent.props.headerRowClassName;
  21. if (shared.isString(headerRowClassName)) {
  22. classes.push(headerRowClassName);
  23. } else if (shared.isFunction(headerRowClassName)) {
  24. classes.push(headerRowClassName.call(null, { rowIndex }));
  25. }
  26. return classes.join(" ");
  27. };
  28. const getHeaderCellStyle = (rowIndex, columnIndex, row, column) => {
  29. var _a;
  30. let headerCellStyles = (_a = parent == null ? void 0 : parent.props.headerCellStyle) != null ? _a : {};
  31. if (shared.isFunction(headerCellStyles)) {
  32. headerCellStyles = headerCellStyles.call(null, {
  33. rowIndex,
  34. columnIndex,
  35. row,
  36. column
  37. });
  38. }
  39. const fixedStyle = util.getFixedColumnOffset(columnIndex, column.fixed, props.store, row);
  40. util.ensurePosition(fixedStyle, "left");
  41. util.ensurePosition(fixedStyle, "right");
  42. return Object.assign({}, headerCellStyles, fixedStyle);
  43. };
  44. const getHeaderCellClass = (rowIndex, columnIndex, row, column) => {
  45. const fixedClasses = util.getFixedColumnsClass(ns.b(), columnIndex, column.fixed, props.store, row);
  46. const classes = [
  47. column.id,
  48. column.order,
  49. column.headerAlign,
  50. column.className,
  51. column.labelClassName,
  52. ...fixedClasses
  53. ];
  54. if (!column.children) {
  55. classes.push("is-leaf");
  56. }
  57. if (column.sortable) {
  58. classes.push("is-sortable");
  59. }
  60. const headerCellClassName = parent == null ? void 0 : parent.props.headerCellClassName;
  61. if (shared.isString(headerCellClassName)) {
  62. classes.push(headerCellClassName);
  63. } else if (shared.isFunction(headerCellClassName)) {
  64. classes.push(headerCellClassName.call(null, {
  65. rowIndex,
  66. columnIndex,
  67. row,
  68. column
  69. }));
  70. }
  71. classes.push(ns.e("cell"));
  72. return classes.filter((className) => Boolean(className)).join(" ");
  73. };
  74. return {
  75. getHeaderRowStyle,
  76. getHeaderRowClass,
  77. getHeaderCellStyle,
  78. getHeaderCellClass
  79. };
  80. }
  81. exports["default"] = useStyle;
  82. //# sourceMappingURL=style.helper.js.map