{"version":3,"file":"index.mjs","sources":["../../../../../../../packages/components/table/src/table-body/index.ts"],"sourcesContent":["// @ts-nocheck\r\nimport {\r\n  defineComponent,\r\n  getCurrentInstance,\r\n  h,\r\n  inject,\r\n  onUnmounted,\r\n  watch,\r\n} from 'vue'\r\nimport { isClient } from '@vueuse/core'\r\nimport { addClass, removeClass } from '@sgui-plus/utils'\r\nimport { useNamespace } from '@sgui-plus/hooks'\r\nimport useLayoutObserver from '../layout-observer'\r\nimport { removePopper } from '../util'\r\nimport { TABLE_INJECTION_KEY } from '../tokens'\r\nimport useRender from './render-helper'\r\nimport defaultProps from './defaults'\r\n\r\nimport type { VNode } from 'vue'\r\n\r\nexport default defineComponent({\r\n  name: 'SgTableBody',\r\n  props: defaultProps,\r\n  setup(props) {\r\n    const instance = getCurrentInstance()\r\n    const parent = inject(TABLE_INJECTION_KEY)\r\n    const ns = useNamespace('table')\r\n    const { wrappedRowRender, tooltipContent, tooltipTrigger } =\r\n      useRender(props)\r\n    const { onColumnsChange, onScrollableChange } = useLayoutObserver(parent!)\r\n\r\n    watch(props.store.states.hoverRow, (newVal: any, oldVal: any) => {\r\n      if (!props.store.states.isComplex.value || !isClient) return\r\n      let raf = window.requestAnimationFrame\r\n      if (!raf) {\r\n        raf = (fn) => window.setTimeout(fn, 16)\r\n      }\r\n      raf(() => {\r\n        // just get first level children; fix #9723\r\n        const el = instance?.vnode.el as HTMLElement\r\n        const rows = Array.from(el?.children || []).filter((e) =>\r\n          e?.classList.contains(`${ns.e('row')}`)\r\n        )\r\n        const oldRow = rows[oldVal]\r\n        const newRow = rows[newVal]\r\n        if (oldRow) {\r\n          removeClass(oldRow, 'hover-row')\r\n        }\r\n        if (newRow) {\r\n          addClass(newRow, 'hover-row')\r\n        }\r\n      })\r\n    })\r\n\r\n    onUnmounted(() => {\r\n      removePopper?.()\r\n    })\r\n\r\n    return {\r\n      ns,\r\n      onColumnsChange,\r\n      onScrollableChange,\r\n      wrappedRowRender,\r\n      tooltipContent,\r\n      tooltipTrigger,\r\n    }\r\n  },\r\n  render() {\r\n    const { wrappedRowRender, store } = this\r\n    const data = store.states.data.value || []\r\n    return h('tbody', {}, [\r\n      data.reduce((acc: VNode[], row) => {\r\n        return acc.concat(wrappedRowRender(row, acc.length))\r\n      }, []),\r\n    ])\r\n  },\r\n})\r\n"],"names":[],"mappings":"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"}