{"version":3,"file":"useAsyncLoading.mjs","sources":["../../../src/table/hooks/useAsyncLoading.tsx"],"sourcesContent":["import isString from 'lodash/isString';\nimport { computed } from 'vue';\nimport { useTNodeJSX } from '../../hooks/tnode';\nimport { TdPrimaryTableProps } from '../type';\nimport Loading from '../../loading';\nimport useClassName from './useClassName';\nimport { useConfig } from '../../hooks/useConfig';\n\nexport default function useAsyncLoading(props: TdPrimaryTableProps) {\n  const renderTNode = useTNodeJSX();\n  const { globalConfig } = useConfig('table');\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":["isString","loading","_createVNode","renderAsyncLoading"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,SAAA,eAAA,CAAA,KAAA,EAAA;AACE,EAAA,IAAA,WAAA,GAAA,WAAA,EAAA,CAAA;AACA,EAAA,IAAA,UAAA,GAAA,SAAA,CAAA,OAAA,CAAA;;AACA,EAAA,IAAA,aAAA,GAAA,YAAA,EAAA;;;;;AAEyB,IAAA,IAAA,IAAA,CAAA;AAAA,IAAA,OAAA,CAAA,iBAAA,GAAA,IAAA,GAAA,EAAA,EAAA,eAAA,CAAA,IAAA,EAAA,cAAA,EAAA,KAAA,CAAA,YAAA,KAAA,SAAA,CAAA,EAAA,eAAA,CAAA,IAAA,EAAA,eAAA,EAAA,KAAA,CAAA,YAAA,KAAA,WAAA,CAAA,EAAA,IAAA,EAAA,CAAA;;;AAQF,IAAA,IAAA,qBAAA,CAAA;AACjB,IAAA,IAAA,CAAAA,UAAA,CAAA,KAAA,CAAA,YAAA,CAAA,EAAA,OAAA;AACJ,IAAA,CAAA,qBAAA,GAAA,KAAA,CAAA,mBAAA,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAAA,IAAA,CAAA,KAAA,EAAA;;AAAyD,KAAA,CAAA,CAAA;AAC3D,GAAA;;AAGQ,IAAA,IAAA,gBAAA,GAAA,WAAA,CAAA,cAAA,CAAA,CAAA;AACF,IAAA,IAAAA,UAAA,CAAA,gBAAA,CAAA,EAAA;AACI,MAAA,IAAA,YAAA,GAAA,KAAA,CAAA,YAAA,CAAA;AACN,MAAA,IAAA,WAAA,GAAA;AACE,QAAA,WAAA,EAAA,YAAA,CAAA,KAAA,CAAA,eAAA;AACAC,QAAAA,OAAAA,EAAAA,YAAAA,CAAAA,KAAAA,CAAAA,WAAAA;AACF,OAAA,CAAA,MAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AAEE,MAAA,OAAAC,WAAA,CAAA,KAAA,EAAA;;;;;;AAC8D,QAAA,MAAA,EAAA,OAAA;;AAA8C,OAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAGhH,KAAA;AACI,IAAA,IAAA,CAAA,CAAA,IAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA,QAAA,CAAA,gBAAA,CAAA,EAAA;AAEA,MAAA,OAAAA,WAAA,CAAA,KAAA,EAAA;;;AAAoC,OAAA,EAAA,CAAA,gBAAA,CAAA,CAAA,CAAA;AAIxC,KAAA;AACO,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;;AAEEC,IAAAA,kBAAAA,EAAAA,kBAAAA;;AAEJ;;;;"}