{"version":3,"file":"use-props2.mjs","sources":["../../../../../../../../packages/components/editor/src/hooks/use-props.ts"],"sourcesContent":["import { type ComputedRef, type Ref, computed } from 'vue'\nimport { useGlobalConfig } from '@tav-ui/hooks/global/useGlobalConfig'\nimport { type GlobalConfigEditorProps } from '../typings'\n\nexport function useGlobalConfigProps() {\n  const globalConfigAppId = (useGlobalConfig('appId') as Ref<string>).value\n  const globalConfigUploadVarsJson = useGlobalConfig('uploadVarsJson') as Ref<string>\n  const globalConfigEditor = useGlobalConfig('components') as Ref<Record<string, any>>\n\n  return computed(\n    () =>\n      ({\n        appId: globalConfigAppId || '',\n        uploadVarsJson: globalConfigUploadVarsJson.value || '{}',\n        ...(globalConfigEditor?.value?.TaEditor || {}),\n      } as unknown as GlobalConfigEditorProps & {\n        appId: string | number\n        uploadVarsJson: string\n      })\n  )\n}\n\n/**\n * 方便组件在单独使用时合并 globalconfigprops\n * @param globalConfigProps\n * @param props\n * @param componentNames\n * @returns\n */\nexport function useMergedProps<K extends Record<string, any>>(\n  globalConfigProps: ComputedRef<GlobalConfigEditorProps & { appId: string | number }>,\n  props: K,\n  apiParamsDefault?: any\n) {\n  return computed(() => {\n    const result = {} as any // props 不允许赋值所以这里新建变量存储\n    const globalConfigComponentProps = globalConfigProps.value\n    const globalConfigAppId = globalConfigProps.value.appId\n\n    // props 属性为 undefined 的话从 globalconfig 中取对应的值（目前只是 api 与 appId）\n    Object.keys(props).forEach((key) => {\n      const _p =\n        globalConfigComponentProps && (globalConfigComponentProps as any)[key]\n          ? (globalConfigComponentProps as any)[key]\n          : undefined\n\n      result[key] = props[key] ?? _p\n    })\n\n    // apiParams 有一些默认值需要合并\n    apiParamsDefault &&\n      Object.keys(apiParamsDefault).forEach((key) => {\n        result['apiParams'][key] = result['apiParams'][key] ?? apiParamsDefault[key]\n      })\n\n    return {\n      ...props,\n      ...result,\n      apiParams: {\n        ...props.apiParams,\n        appId: props.apiParams?.appId ?? globalConfigAppId,\n      },\n    } as unknown as typeof globalConfigComponentProps & K\n  })\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,oBAAoB,GAAG;AACvC,EAAE,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;AAC3D,EAAE,MAAM,0BAA0B,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;AACvE,EAAE,MAAM,kBAAkB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;AAC3D,EAAE,OAAO,QAAQ,CAAC,OAAO;AACzB,IAAI,KAAK,EAAE,iBAAiB,IAAI,EAAE;AAClC,IAAI,cAAc,EAAE,0BAA0B,CAAC,KAAK,IAAI,IAAI;AAC5D,IAAI,GAAG,kBAAkB,EAAE,KAAK,EAAE,QAAQ,IAAI,EAAE;AAChD,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;AACM,SAAS,cAAc,CAAC,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE;AAC3E,EAAE,OAAO,QAAQ,CAAC,MAAM;AACxB,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAC/D,IAAI,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5D,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AACxC,MAAM,MAAM,EAAE,GAAG,0BAA0B,IAAI,0BAA0B,CAAC,GAAG,CAAC,GAAG,0BAA0B,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAC1H,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AACrC,KAAK,CAAC,CAAC;AACP,IAAI,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AACvE,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACnF,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,MAAM,GAAG,KAAK;AACd,MAAM,GAAG,MAAM;AACf,MAAM,SAAS,EAAE;AACjB,QAAQ,GAAG,KAAK,CAAC,SAAS;AAC1B,QAAQ,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,IAAI,iBAAiB;AAC1D,OAAO;AACP,KAAK,CAAC;AACN,GAAG,CAAC,CAAC;AACL;;;;"}