{"version":3,"file":"useTableHeader2.mjs","sources":["../../../../../../../../packages/components/table/src/hooks/useTableHeader.ts"],"sourcesContent":["import { computed, h, unref } from 'vue'\nimport { isString } from '@tav-ui/utils/is'\nimport { getSlot } from '@tav-ui/utils/helper/tsxHelper'\nimport TableHeader from '../components/TableHeader.vue'\nimport type { ComputedRef, Slots } from 'vue'\nimport type { BasicTableProps, InnerHandlers } from '../types/table'\n\ntype Recordable<T = any> = Record<string, T>\n\nexport function useTableHeader(\n  propsRef: ComputedRef<BasicTableProps>,\n  slots: Slots,\n  handlers: InnerHandlers\n) {\n  const getHeaderProps = computed((): Recordable => {\n    const { title, showTableSetting, titleHelpMessage, tableSetting } = unref(propsRef)\n    const hideTitle = !slots.tableTitle && !title && !slots.toolbar && !showTableSetting\n    if (hideTitle && !isString(title)) {\n      return {}\n    }\n\n    return {\n      title: hideTitle\n        ? null\n        : () =>\n            h(\n              TableHeader,\n              {\n                title,\n                titleHelpMessage,\n                showTableSetting,\n                tableSetting,\n                onColumnsChange: handlers.onColumnsChange,\n              } as Recordable,\n              {\n                ...(slots.toolbar\n                  ? {\n                      toolbar: () => getSlot(slots, 'toolbar'),\n                    }\n                  : {}),\n                ...(slots.tableTitle\n                  ? {\n                      tableTitle: () => getSlot(slots, 'tableTitle'),\n                    }\n                  : {}),\n                ...(slots.headerTop\n                  ? {\n                      headerTop: () => getSlot(slots, 'headerTop'),\n                    }\n                  : {}),\n              }\n            ),\n    }\n  })\n  return { getHeaderProps }\n}\n"],"names":[],"mappings":";;;;;AAIO,SAAS,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC1D,EAAE,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM;AACxC,IAAI,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;AACxF,IAAI,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC;AACzF,IAAI,IAAI,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACvC,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE;AACrD,QAAQ,KAAK;AACb,QAAQ,gBAAgB;AACxB,QAAQ,gBAAgB;AACxB,QAAQ,YAAY;AACpB,QAAQ,eAAe,EAAE,QAAQ,CAAC,eAAe;AACjD,OAAO,EAAE;AACT,QAAQ,GAAG,KAAK,CAAC,OAAO,GAAG;AAC3B,UAAU,OAAO,EAAE,MAAM,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;AAClD,SAAS,GAAG,EAAE;AACd,QAAQ,GAAG,KAAK,CAAC,UAAU,GAAG;AAC9B,UAAU,UAAU,EAAE,MAAM,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;AACxD,SAAS,GAAG,EAAE;AACd,QAAQ,GAAG,KAAK,CAAC,SAAS,GAAG;AAC7B,UAAU,SAAS,EAAE,MAAM,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;AACtD,SAAS,GAAG,EAAE;AACd,OAAO,CAAC;AACR,KAAK,CAAC;AACN,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B;;;;"}