{"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 computedStyle = window.getComputedStyle?.(circleElem);\n  const color = computedStyle?.color || '';\n  const fontSize = computedStyle?.fontSize || '12px'; // 默认字体大小\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  // 判断是否为 iPadOS 下的微信和企业微信\n  const isIpadWechat = /(?=.*iPad)[?=.*MicroMessenger]/.test(ua) && !/Chrome/.test(ua);\n\n  // 注意：chrome上调试mobile/ipad端时，loading出现异常，属于正常现象，不需要修改。\n  if (isSafari || isIosWechat || isIpadWechat) {\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 '@tdesign/shared-hooks';\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$getComputedSt","_window","_window2","basicStyle","window","computedStyle","getComputedStyle","call","color","fontSize","ua","navigator","userAgent","isSafari","test","isIosWechat","isIpadWechat","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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"}