{
  "id": "StealthWorm_pink-duck-62",
  "name": "pink-duck-62",
  "category": "loaders",
  "author": "StealthWorm",
  "description": "pink-duck-62 组件 (loading, interstellar, black hole, animation, gradient)",
  "tags": [
    "loading",
    "interstellar",
    "black hole",
    "animation",
    "gradient"
  ],
  "original": {
    "html": "<div class=\"loader\">\n  <div class=\"blackhole\">\n    <div class=\"blackhole-circle\"></div>\n    <div class=\"blackhole-disc\"></div>\n  </div>\n\n  <div class=\"curve\">\n    <svg viewBox=\"0 0 500 500\">\n      <path id=\"loading\" d=\"M73.2,148.6c4-6.1,65.5-96.8,178.6-95.6c111.3,1.2,170.8,90.3,175.1,97\"></path>\n      <text width=\"500\">\n        <textPath xlink:href=\"#loading\">\n          loading...\n        </textPath>\n      </text>\n    </svg>\n  </div>\n</div>",
    "css": "/* From Uiverse.io by StealthWorm - Tags: loading, interstellar, black hole */\n.loader {\n  display: flex;\n  width: 8rem;\n  height: 8rem;\n  justify-content: center;\n  align-items: center;\n  position: relative;\n  flex-direction: column;\n}\n\n.curve {\n  width: 180%;\n  height: 180%;\n  position: absolute;\n  animation: rotate 8s linear infinite;\n  fill: transparent;\n}\n\n.curve text {\n  letter-spacing: 20px;\n  text-transform: uppercase;\n  font: 1.5em \"Fira Sans\", sans-serif;\n  fill: white;\n  filter: drop-shadow(0 2px 8px black);\n}\n\n.blackhole {\n  z-index: -1;\n  display: flex;\n  position: absolute;\n  width: 8rem;\n  height: 8rem;\n  align-items: center;\n  justify-content: center;\n}\n\n.blackhole-circle {\n  z-index: 0;\n  display: flex;\n  width: 100%;\n  height: 100%;\n  border-radius: 50%;\n  background: radial-gradient(circle at center, black 25%, white 35%, white 100%);\n  box-shadow: 0px 0px 2rem #c2babb;\n  align-items: center;\n  justify-content: center;\n}\n\n.blackhole-circle::after {\n  z-index: 0;\n  position: absolute;\n  content: \"\";\n  display: flex;\n  width: 100%;\n  height: 100%;\n  border-radius: 50%;\n  border: 4px solid white;\n  background: radial-gradient(circle at center, black 35%, white 60%, white 100%);\n  box-shadow: 0px 0px 5rem #c2babb;\n  align-items: center;\n  justify-content: center;\n  filter: blur(4px);\n  animation: pulseAnimation linear infinite 2s alternate-reverse;\n}\n\n.blackhole-circle::before {\n  z-index: 1;\n  content: \"\";\n  display: flex;\n  width: 4rem;\n  height: 4rem;\n  border: 2px solid #ffffff;\n  box-shadow: 3px 3px 10px #c2babb, inset 0 0 1rem #ffffff;\n  border-radius: 50%;\n  top: 5rem;\n  filter: blur(0.5px);\n  animation: rotate linear infinite 3s;\n}\n\n.blackhole-disc {\n  position: absolute;\n  z-index: 0;\n  display: flex;\n  width: 5rem;\n  height: 10rem;\n  border-radius: 50%;\n  background: radial-gradient(circle at center, #ffffff 80%, #353535 90%, white 100%);\n  filter: blur(1rem) brightness(130%);\n  border: 1rem solid white;\n  box-shadow: 0px 0px 3rem #d7c4be;\n  transform: rotate3d(1, 1, 1, 220deg);\n  animation: pulseAnimation2 linear infinite 2s alternate-reverse;\n  justify-content: center;\n  align-items: center;\n}\n\n.blackhole-disc::before {\n  content: \"\";\n  position: absolute;\n  z-index: 0;\n  display: flex;\n  width: 5rem;\n  height: 10rem;\n  border-radius: 50%;\n  background: radial-gradient(circle at center, #ffffff 80%, #353535 90%, white 100%);\n  filter: blur(3rem);\n  border: 1rem solid white;\n  box-shadow: 0px 0px 6rem #d7c4be;\n  animation: pulseAnimation linear infinite 2s alternate-reverse;\n}\n\n@keyframes rotate {\n  0% {\n    transform: rotate(0deg);\n  }\n\n  100% {\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes pulseAnimation {\n  0% {\n    box-shadow: 0px 0px 3rem #c2babb;\n    transform: scale(1);\n  }\n\n  100% {\n    box-shadow: 0px 0px 5rem #c2babb;\n    transform: scale(1.09);\n  }\n}\n\n@keyframes pulseAnimation2 {\n  0% {\n    box-shadow: 0px 0px 3rem #c2babb;\n    transform: rotate3d(1, 1, 1, 220deg) scale(1);\n  }\n\n  100% {\n    box-shadow: 0px 0px 5rem #c2babb;\n    transform: rotate3d(1, 1, 1, 220deg)  scale(.95);\n  }\n}",
    "file_path": "/mnt/persist/workspace/loaders/StealthWorm_pink-duck-62.html"
  },
  "uniapp": {
    "template": "<view class=\"loader\"></view>\n  <view class=\"blackhole\"></view>\n    <view class=\"blackhole-circle\"></view>\n    <view class=\"blackhole-disc\"></view>\n  </div>\n\n  <view class=\"curve\"></view>\n    <view viewBox=\"0 0 500 500\"></view>\n      <path id=\"loading\" d=\"M73.2,148.6c4-6.1,65.5-96.8,178.6-95.6c111.3,1.2,170.8,90.3,175.1,97\"></path>\n      <text width=\"500\">\n        <textPath xlink:href=\"#loading\">\n          loading...\n        </textPath>\n      </text>\n    </svg>\n  </div>\n</div>",
    "script": "export default {\n  name: 'GalaxyPinkDuck62',\n  props: {\n    // 根据组件类型动态生成props\n  },\n  data() {\n    return {\n      // 组件状态\n    };\n  },\n  methods: {\n    // 组件方法\n  }\n}",
    "style": "\n/* From Uiverse.io by StealthWorm - Tags: loading, interstellar, black hole */\n.loader {\n  display: flex;\n  width: 8rem;\n  height: 8rem;\n  justify-content: center;\n  align-items: center;\n  position: relative;\n  flex-direction: column;\n}\n\n.curve {\n  width: 180%;\n  height: 180%;\n  position: absolute;\n  animation: rotate 8s linear infinite;\n  fill: transparent;\n}\n\n.curve text {\n  letter-spacing: 40rpx;\n  text-transform: uppercase;\n  font: 1.5em \"Fira Sans\", sans-serif;\n  fill: white;\n  \n}\n\n.blackhole {\n  z-index: -1;\n  display: flex;\n  position: absolute;\n  width: 8rem;\n  height: 8rem;\n  align-items: center;\n  justify-content: center;\n}\n\n.blackhole-circle {\n  z-index: 0;\n  display: flex;\n  width: 100%;\n  height: 100%;\n  border-radius: 50%;\n  background: radial-gradient(circle at center, black 25%, white 35%, white 100%);\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0rpx 0rpx 2rem #c2babb;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  align-items: center;\n  justify-content: center;\n}\n\n.blackhole-circle::after {\n  z-index: 0;\n  position: absolute;\n  content: \"\";\n  display: flex;\n  width: 100%;\n  height: 100%;\n  border-radius: 50%;\n  border: 8rpx solid white;\n  background: radial-gradient(circle at center, black 35%, white 60%, white 100%);\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0rpx 0rpx 5rem #c2babb;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  align-items: center;\n  justify-content: center;\n  \n  animation: pulseAnimation linear infinite 2s alternate-reverse;\n}\n\n.blackhole-circle::before {\n  z-index: 1;\n  content: \"\";\n  display: flex;\n  width: 4rem;\n  height: 4rem;\n  border: 4rpx solid #ffffff;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 6rpx 6rpx 20rpx #c2babb, inset 0 0 1rem #ffffff;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  border-radius: 50%;\n  top: 5rem;\n  \n  animation: rotate linear infinite 3s;\n}\n\n.blackhole-disc {\n  position: absolute;\n  z-index: 0;\n  display: flex;\n  width: 5rem;\n  height: 10rem;\n  border-radius: 50%;\n  background: radial-gradient(circle at center, #ffffff 80%, #353535 90%, white 100%);\n  \n  border: 1rem solid white;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0rpx 0rpx 3rem #d7c4be;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  transform: rotate3d(1, 1, 1, 220deg);\n  animation: pulseAnimation2 linear infinite 2s alternate-reverse;\n  justify-content: center;\n  align-items: center;\n}\n\n.blackhole-disc::before {\n  content: \"\";\n  position: absolute;\n  z-index: 0;\n  display: flex;\n  width: 5rem;\n  height: 10rem;\n  border-radius: 50%;\n  background: radial-gradient(circle at center, #ffffff 80%, #353535 90%, white 100%);\n  \n  border: 1rem solid white;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0rpx 0rpx 6rem #d7c4be;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  animation: pulseAnimation linear infinite 2s alternate-reverse;\n}\n\n@keyframes rotate {\n  0% {\n    transform: rotate(0deg);\n  }\n\n  100% {\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes pulseAnimation {\n  0% {\n    /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0rpx 0rpx 3rem #c2babb;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n    transform: scale(1);\n  }\n\n  100% {\n    /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0rpx 0rpx 5rem #c2babb;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n    transform: scale(1.09);\n  }\n}\n\n@keyframes pulseAnimation2 {\n  0% {\n    /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0rpx 0rpx 3rem #c2babb;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n    transform: rotate3d(1, 1, 1, 220deg) scale(1);\n  }\n\n  100% {\n    /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0rpx 0rpx 5rem #c2babb;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n    transform: rotate3d(1, 1, 1, 220deg)  scale(.95);\n  }\n}\n\n",
    "component_name": "GalaxyPinkDuck62"
  },
  "platforms": {
    "h5": true,
    "mp-weixin": true,
    "mp-alipay": true,
    "mp-baidu": true,
    "mp-toutiao": true,
    "app-plus": true
  },
  "props": [
    {
      "name": "disabled",
      "type": "Boolean",
      "default": false,
      "required": false,
      "description": "是否禁用"
    }
  ],
  "events": [],
  "slots": [
    {
      "name": "",
      "description": "",
      "props": []
    }
  ],
  "compatibility": {
    "h5": {
      "supported": true,
      "issues": [],
      "alternatives": []
    },
    "mp-weixin": {
      "supported": true,
      "issues": [
        "不支持 box-shadow 属性",
        "不支持 filter 属性"
      ],
      "alternatives": []
    },
    "mp-alipay": {
      "supported": true,
      "issues": [
        "不支持 box-shadow 属性",
        "不支持 filter 属性"
      ],
      "alternatives": []
    },
    "app-plus": {
      "supported": true,
      "issues": [],
      "alternatives": []
    }
  },
  "performance": {
    "complexity": "high",
    "bundle_size": 3527,
    "render_cost": "high",
    "memory_usage": "high"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:40.596Z",
  "updated_at": "2025-07-31T07:55:40.596Z"
}