{"version":3,"file":"style-helper.mjs","sources":["../../../../../../../packages/components/table/src/table-footer/style-helper.ts"],"sourcesContent":["import { computed, getCurrentInstance } from 'vue'\nimport useMapState from './mapState-helper'\n\nimport type { Table } from '../table/defaults'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { TableFooter } from '.'\n\nfunction useStyle<T>(props: TableFooter<T>) {\n  const instance = getCurrentInstance()\n  const table = instance.parent as Table<T>\n  const store = table.store\n\n  const {\n    leftFixedLeafCount,\n    rightFixedLeafCount,\n    columnsCount,\n    leftFixedCount,\n    rightFixedCount,\n    columns,\n  } = useMapState<T>()\n\n  const hasGutter = computed(() => {\n    return !props.fixed && !table.layout.gutterWidth\n  })\n  const isCellHidden = (\n    index: number,\n    columns: TableColumnCtx<T>[],\n    column: TableColumnCtx<T>\n  ) => {\n    if (props.fixed || props.fixed === 'left') {\n      return index >= leftFixedLeafCount.value\n    } else if (props.fixed === 'right') {\n      let before = 0\n      for (let i = 0; i < index; i++) {\n        before += columns[i].colSpan\n      }\n      return before < columnsCount.value - rightFixedLeafCount.value\n    } else if (!props.fixed && column.fixed) {\n      // hide cell when footer instance is not fixed and column is fixed\n      return true\n    } else {\n      return (\n        index < leftFixedCount.value ||\n        index >= columnsCount.value - rightFixedCount.value\n      )\n    }\n  }\n  const getRowClasses = (column: TableColumnCtx<T>, cellIndex: number) => {\n    const classes = [column.id, column.align, column.labelClassName]\n    if (column.className) {\n      classes.push(column.className)\n    }\n    if (isCellHidden(cellIndex, store.states.columns.value, column)) {\n      classes.push('is-hidden')\n    }\n    if (!column.children) {\n      classes.push('is-leaf')\n    }\n    return classes\n  }\n\n  return {\n    hasGutter,\n    getRowClasses,\n    columns,\n  }\n}\n\nexport default useStyle\n"],"names":[],"mappings":";;;AAOA,kBAAqB,OAAuB;AAC1C,QAAM,WAAW;AACjB,QAAM,QAAQ,SAAS;AACvB,QAAM,QAAQ,MAAM;AAEpB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,YAAY,SAAS,MAAM;AAC/B,WAAO,CAAC,MAAM,SAAS,CAAC,MAAM,OAAO;AAAA;AAEvC,QAAM,eAAe,CACnB,OACA,UACA,WACG;AACH,QAAI,MAAM,SAAS,MAAM,UAAU,QAAQ;AACzC,aAAO,SAAS,mBAAmB;AAAA,eAC1B,MAAM,UAAU,SAAS;AAClC,UAAI,SAAS;AACb,eAAS,IAAI,GAAG,IAAI,OAAO,KAAK;AAC9B,kBAAU,SAAQ,GAAG;AAAA;AAEvB,aAAO,SAAS,aAAa,QAAQ,oBAAoB;AAAA,eAChD,CAAC,MAAM,SAAS,OAAO,OAAO;AAEvC,aAAO;AAAA,WACF;AACL,aACE,QAAQ,eAAe,SACvB,SAAS,aAAa,QAAQ,gBAAgB;AAAA;AAAA;AAIpD,QAAM,gBAAgB,CAAC,QAA2B,cAAsB;AACtE,UAAM,UAAU,CAAC,OAAO,IAAI,OAAO,OAAO,OAAO;AACjD,QAAI,OAAO,WAAW;AACpB,cAAQ,KAAK,OAAO;AAAA;AAEtB,QAAI,aAAa,WAAW,MAAM,OAAO,QAAQ,OAAO,SAAS;AAC/D,cAAQ,KAAK;AAAA;AAEf,QAAI,CAAC,OAAO,UAAU;AACpB,cAAQ,KAAK;AAAA;AAEf,WAAO;AAAA;AAGT,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA;AAAA;;;;"}