{"version":3,"file":"useAsyncLoading.mjs","sources":["../../../../components/table/hooks/useAsyncLoading.tsx"],"sourcesContent":["import { isString } from 'lodash-es';\nimport { computed } from 'vue';\nimport { useConfig, useTNodeJSX } from '@tdesign/shared-hooks';\nimport { TdPrimaryTableProps } from '../type';\nimport Loading from '../../loading';\nimport useClassName from './useClassName';\n\nexport default function useAsyncLoading(props: TdPrimaryTableProps) {\n  const renderTNode = useTNodeJSX();\n  const { globalConfig } = useConfig('table', props.locale);\n  const { isLoadingClass, isLoadMoreClass, asyncLoadingClass } = useClassName();\n\n  const classes = computed(() => [\n    asyncLoadingClass,\n    {\n      [isLoadingClass]: props.asyncLoading === 'loading',\n      [isLoadMoreClass]: props.asyncLoading === 'load-more',\n    },\n  ]);\n\n  function onLoadClick() {\n    if (!isString(props.asyncLoading)) return;\n    props.onAsyncLoadingClick?.({ status: props.asyncLoading });\n  }\n\n  function renderAsyncLoading() {\n    const asyncLoadingNode = renderTNode('asyncLoading');\n    if (isString(asyncLoadingNode)) {\n      const { asyncLoading } = props;\n      const loadingText = {\n        'load-more': globalConfig.value.loadingMoreText,\n        loading: globalConfig.value.loadingText,\n      }[String(asyncLoading)];\n      return (\n        <div class={classes.value} onClick={onLoadClick}>\n          {<Loading indicator={asyncLoading === 'loading'} loading={!!asyncLoading} size=\"small\" text={loadingText} />}\n        </div>\n      );\n    }\n    if (![null, false, undefined].includes(asyncLoadingNode)) {\n      return (\n        <div class={classes.value} onClick={onLoadClick}>\n          {asyncLoadingNode}\n        </div>\n      );\n    }\n    return null;\n  }\n  return {\n    renderAsyncLoading,\n  };\n}\n"],"names":["useAsyncLoading","props","renderTNode","useTNodeJSX","_useConfig","useConfig","locale","globalConfig","_useClassName","useClassName","isLoadingClass","isLoadMoreClass","asyncLoadingClass","classes","computed","_defineProperty","asyncLoading","onLoadClick","_props$onAsyncLoading","isString","onAsyncLoadingClick","call","status","renderAsyncLoading","asyncLoadingNode","loadingText","value","loadingMoreText","loading","String","_createVNode","Loading","includes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,SAAwBA,gBAAgBC,KAA4B,EAAA;AAClE,EAAA,IAAMC,cAAcC,WAAY,EAAA,CAAA;EAChC,IAAAC,UAAA,GAAyBC,SAAU,CAAA,OAAA,EAASJ,MAAMK,MAAM,CAAA;IAAhDC,YAAa,GAAAH,UAAA,CAAbG,YAAa,CAAA;AACrB,EAAA,IAAAC,aAAA,GAA+DC,YAAa,EAAA;IAApEC,cAAA,GAAAF,aAAA,CAAAE,cAAA;IAAgBC,eAAiB,GAAAH,aAAA,CAAjBG,eAAiB;IAAAC,iBAAA,GAAAJ,aAAA,CAAAI,iBAAA,CAAA;EAEnC,IAAAC,OAAA,GAAUC,SAAS,YAAA;IAAA,OAAM,CAC7BF,iBAAA,EAAAG,eAAA,CAAAA,eAAA,CAAA,EAAA,EAEGL,cAAiB,EAAAT,KAAA,CAAMe,YAAiB,KAAA,SAAA,GACxCL,eAAkB,EAAAV,KAAA,CAAMe,YAAiB,KAAA,WAAA,CAE7C,CAAA,CAAA;GAAA,CAAA,CAAA;EAED,SAASC,WAAcA,GAAA;AAAA,IAAA,IAAAC,qBAAA,CAAA;AACjB,IAAA,IAAA,CAACC,QAAS,CAAAlB,KAAA,CAAMe,YAAY,CAAA,EAAG,OAAA;AACnC,IAAA,CAAAE,qBAAA,GAAAjB,KAAA,CAAMmB,mBAAsB,MAAA,IAAA,IAAAF,qBAAA,KAAA,KAAA,CAAA,IAA5BA,qBAAA,CAAAG,IAAA,CAAApB,KAAA,EAA4B;MAAEqB,MAAQ,EAAArB,KAAA,CAAMe,YAAAA;AAAa,KAAC,CAAA,CAAA;AAC5D,GAAA;EAEA,SAASO,kBAAqBA,GAAA;AACtB,IAAA,IAAAC,gBAAA,GAAmBtB,YAAY,cAAc,CAAA,CAAA;AAC/C,IAAA,IAAAiB,QAAA,CAASK,gBAAgB,CAAG,EAAA;AACxB,MAAA,IAAER,eAAiBf,KAAA,CAAjBe;AACR,MAAA,IAAMS,WAAc,GAAA;AAClB,QAAA,WAAA,EAAalB,aAAamB,KAAM,CAAAC,eAAA;AAChCC,QAAAA,OAAA,EAASrB,aAAamB,KAAM,CAAAD,WAAAA;AAC9B,OAAA,CAAEI,OAAOb,YAAY,CAAA,CAAA,CAAA;AAEnB,MAAA,OAAAc,WAAA,CAAA,KAAA,EAAA;QAAA,OAAYjB,EAAAA,OAAA,CAAQa;iBAAgBT,EAAAA,WAAAA;OAAAa,EAAAA,CAAAA,WAAA,CAAAC,OAAA,EAAA;QAAA,WACbf,EAAAA,iBAAiB,SAAW;QAAA,SAAS,EAAA,CAAC,CAACA,YAAA;AAAA,QAAA,MAAA,EAAA,OAAA;QAAA,MAAiCS,EAAAA,WAAAA;AAAa,OAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAGhH,KAAA;AACI,IAAA,IAAA,CAAC,CAAC,IAAM,EAAA,KAAA,EAAO,MAAS,CAAE,CAAAO,QAAA,CAASR,gBAAgB,CAAG,EAAA;AAEtD,MAAA,OAAAM,WAAA,CAAA,KAAA,EAAA;QAAA,OAAYjB,EAAAA,OAAA,CAAQa;iBAAgBT,EAAAA,WAAAA;AAAA,OAAA,EAAA,CACjCO;AAGP,KAAA;AACO,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;EACO,OAAA;AACLD,IAAAA,kBAAA,EAAAA,kBAAAA;GACF,CAAA;AACF;;;;"}