{"version":3,"file":"gradient.mjs","sources":["../../../../common/js/loading/circle-adapter.ts","../../../../components/loading/icon/gradient.tsx"],"sourcesContent":["import setStyle from '../utils/setStyle';\nimport { getIEVersion } from '../utils/helper';\n\nexport default function circleAdapter(circleElem: HTMLElement) {\n  let basicStyle = {};\n\n  if (!circleElem || typeof window === 'undefined') {\n    return;\n  }\n\n  const { color, fontSize } = window?.getComputedStyle?.(circleElem);\n\n  // to fix the browser compat of foreignObject in Safari,\n  // https://bugs.webkit.org/show_bug.cgi?id=23113\n  const ua = window?.navigator?.userAgent;\n  const isSafari = /Safari/.test(ua) && !/Chrome/.test(ua);\n  // 判断是否为 iOS 下的微信和企业微信\n  const isIosWechat = /(?=.*iPhone)[?=.*MicroMessenger]/.test(ua) && !/Chrome/.test(ua);\n\n  // 注意：chrome上调试mobile/ipad端时，loading出现异常，属于正常现象，不需要修改。\n  if (isSafari || isIosWechat) {\n    basicStyle = {\n      transformOrigin: '0px 0px',\n      transform: `scale(${parseInt(fontSize, 10) / 12})`,\n    };\n  }\n  // 添加：判断是否为IE浏览器\n  if (color && getIEVersion() > 11) {\n    const matched = color.match(/[\\d.]+/g);\n    const endColor = matched ? `rgba(${matched[0]}, ${matched[1]}, ${matched[2]}, 0)` : '';\n    setStyle(circleElem, {\n      ...basicStyle,\n      background: `conic-gradient(from 90deg at 50% 50%,${endColor} 0deg, ${color} 360deg)`,\n    });\n  } else {\n    setStyle(circleElem, {\n      ...basicStyle,\n      background: '',\n    });\n  }\n}\n","import { defineComponent, onMounted, nextTick, ref } from 'vue';\nimport { usePrefixClass } from '../../hooks/useConfig';\nimport circleAdapter from '@tdesign/common-js/loading/circle-adapter';\n\nexport default defineComponent({\n  name: 'TLoadingGradient',\n  setup() {\n    const classPrefix = usePrefixClass();\n    const circleRef = ref<HTMLElement | null>();\n\n    onMounted(() => {\n      nextTick(() => {\n        circleAdapter(circleRef.value);\n      });\n    });\n\n    return () => {\n      const name = `${classPrefix.value}-loading__gradient`;\n      const classes = [name, `${classPrefix.value}-icon-loading`];\n\n      return (\n        <svg\n          class={classes}\n          viewBox=\"0 0 12 12\"\n          version=\"1.1\"\n          width=\"1em\"\n          height=\"1em\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <foreignObject x=\"0\" y=\"0\" width=\"12\" height=\"12\">\n            <div class={`${name}-conic`} ref={circleRef} />\n          </foreignObject>\n        </svg>\n      );\n    };\n  },\n});\n"],"names":["circleAdapter","circleElem","_window","_window$getComputedSt2","_window2","basicStyle","window","_window$getComputedSt","getComputedStyle","call","color","fontSize","ua","navigator","userAgent","isSafari","test","isIosWechat","transformOrigin","transform","concat","parseInt","getIEVersion","matched","match","endColor","setStyle","_objectSpread","background","defineComponent","name","setup","classPrefix","usePrefixClass","circleRef","ref","onMounted","nextTick","value","classes","_createVNode"],"mappings":"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"}