{
  "id": "Nawsome_wet-mayfly-23",
  "name": "wet-mayfly-23",
  "category": "loaders",
  "author": "Nawsome",
  "description": "wet-mayfly-23 组件 (loader, hamster, wheel, svg, animal, animation, gradient)",
  "tags": [
    "loader",
    "hamster",
    "wheel",
    "svg",
    "animal",
    "animation",
    "gradient"
  ],
  "original": {
    "html": "<div aria-label=\"Orange and tan hamster running in a metal wheel\" role=\"img\" class=\"wheel-and-hamster\">\n\t<div class=\"wheel\"></div>\n\t<div class=\"hamster\">\n\t\t<div class=\"hamster__body\">\n\t\t\t<div class=\"hamster__head\">\n\t\t\t\t<div class=\"hamster__ear\"></div>\n\t\t\t\t<div class=\"hamster__eye\"></div>\n\t\t\t\t<div class=\"hamster__nose\"></div>\n\t\t\t</div>\n\t\t\t<div class=\"hamster__limb hamster__limb--fr\"></div>\n\t\t\t<div class=\"hamster__limb hamster__limb--fl\"></div>\n\t\t\t<div class=\"hamster__limb hamster__limb--br\"></div>\n\t\t\t<div class=\"hamster__limb hamster__limb--bl\"></div>\n\t\t\t<div class=\"hamster__tail\"></div>\n\t\t</div>\n\t</div>\n\t<div class=\"spoke\"></div>\n</div>",
    "css": "/* From Uiverse.io by Nawsome - Tags: loader, hamster, wheel, svg, animal */\n.wheel-and-hamster {\n  --dur: 1s;\n  position: relative;\n  width: 12em;\n  height: 12em;\n  font-size: 14px;\n}\n\n.wheel,\n.hamster,\n.hamster div,\n.spoke {\n  position: absolute;\n}\n\n.wheel,\n.spoke {\n  border-radius: 50%;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n}\n\n.wheel {\n  background: radial-gradient(100% 100% at center,hsla(0,0%,60%,0) 47.8%,hsl(0,0%,60%) 48%);\n  z-index: 2;\n}\n\n.hamster {\n  animation: hamster var(--dur) ease-in-out infinite;\n  top: 50%;\n  left: calc(50% - 3.5em);\n  width: 7em;\n  height: 3.75em;\n  transform: rotate(4deg) translate(-0.8em,1.85em);\n  transform-origin: 50% 0;\n  z-index: 1;\n}\n\n.hamster__head {\n  animation: hamsterHead var(--dur) ease-in-out infinite;\n  background: hsl(30,90%,55%);\n  border-radius: 70% 30% 0 100% / 40% 25% 25% 60%;\n  box-shadow: 0 -0.25em 0 hsl(30,90%,80%) inset,\n\t\t0.75em -1.55em 0 hsl(30,90%,90%) inset;\n  top: 0;\n  left: -2em;\n  width: 2.75em;\n  height: 2.5em;\n  transform-origin: 100% 50%;\n}\n\n.hamster__ear {\n  animation: hamsterEar var(--dur) ease-in-out infinite;\n  background: hsl(0,90%,85%);\n  border-radius: 50%;\n  box-shadow: -0.25em 0 hsl(30,90%,55%) inset;\n  top: -0.25em;\n  right: -0.25em;\n  width: 0.75em;\n  height: 0.75em;\n  transform-origin: 50% 75%;\n}\n\n.hamster__eye {\n  animation: hamsterEye var(--dur) linear infinite;\n  background-color: hsl(0,0%,0%);\n  border-radius: 50%;\n  top: 0.375em;\n  left: 1.25em;\n  width: 0.5em;\n  height: 0.5em;\n}\n\n.hamster__nose {\n  background: hsl(0,90%,75%);\n  border-radius: 35% 65% 85% 15% / 70% 50% 50% 30%;\n  top: 0.75em;\n  left: 0;\n  width: 0.2em;\n  height: 0.25em;\n}\n\n.hamster__body {\n  animation: hamsterBody var(--dur) ease-in-out infinite;\n  background: hsl(30,90%,90%);\n  border-radius: 50% 30% 50% 30% / 15% 60% 40% 40%;\n  box-shadow: 0.1em 0.75em 0 hsl(30,90%,55%) inset,\n\t\t0.15em -0.5em 0 hsl(30,90%,80%) inset;\n  top: 0.25em;\n  left: 2em;\n  width: 4.5em;\n  height: 3em;\n  transform-origin: 17% 50%;\n  transform-style: preserve-3d;\n}\n\n.hamster__limb--fr,\n.hamster__limb--fl {\n  clip-path: polygon(0 0,100% 0,70% 80%,60% 100%,0% 100%,40% 80%);\n  top: 2em;\n  left: 0.5em;\n  width: 1em;\n  height: 1.5em;\n  transform-origin: 50% 0;\n}\n\n.hamster__limb--fr {\n  animation: hamsterFRLimb var(--dur) linear infinite;\n  background: linear-gradient(hsl(30,90%,80%) 80%,hsl(0,90%,75%) 80%);\n  transform: rotate(15deg) translateZ(-1px);\n}\n\n.hamster__limb--fl {\n  animation: hamsterFLLimb var(--dur) linear infinite;\n  background: linear-gradient(hsl(30,90%,90%) 80%,hsl(0,90%,85%) 80%);\n  transform: rotate(15deg);\n}\n\n.hamster__limb--br,\n.hamster__limb--bl {\n  border-radius: 0.75em 0.75em 0 0;\n  clip-path: polygon(0 0,100% 0,100% 30%,70% 90%,70% 100%,30% 100%,40% 90%,0% 30%);\n  top: 1em;\n  left: 2.8em;\n  width: 1.5em;\n  height: 2.5em;\n  transform-origin: 50% 30%;\n}\n\n.hamster__limb--br {\n  animation: hamsterBRLimb var(--dur) linear infinite;\n  background: linear-gradient(hsl(30,90%,80%) 90%,hsl(0,90%,75%) 90%);\n  transform: rotate(-25deg) translateZ(-1px);\n}\n\n.hamster__limb--bl {\n  animation: hamsterBLLimb var(--dur) linear infinite;\n  background: linear-gradient(hsl(30,90%,90%) 90%,hsl(0,90%,85%) 90%);\n  transform: rotate(-25deg);\n}\n\n.hamster__tail {\n  animation: hamsterTail var(--dur) linear infinite;\n  background: hsl(0,90%,85%);\n  border-radius: 0.25em 50% 50% 0.25em;\n  box-shadow: 0 -0.2em 0 hsl(0,90%,75%) inset;\n  top: 1.5em;\n  right: -0.5em;\n  width: 1em;\n  height: 0.5em;\n  transform: rotate(30deg) translateZ(-1px);\n  transform-origin: 0.25em 0.25em;\n}\n\n.spoke {\n  animation: spoke var(--dur) linear infinite;\n  background: radial-gradient(100% 100% at center,hsl(0,0%,60%) 4.8%,hsla(0,0%,60%,0) 5%),\n\t\tlinear-gradient(hsla(0,0%,55%,0) 46.9%,hsl(0,0%,65%) 47% 52.9%,hsla(0,0%,65%,0) 53%) 50% 50% / 99% 99% no-repeat;\n}\n\n/* Animations */\n@keyframes hamster {\n  from, to {\n    transform: rotate(4deg) translate(-0.8em,1.85em);\n  }\n\n  50% {\n    transform: rotate(0) translate(-0.8em,1.85em);\n  }\n}\n\n@keyframes hamsterHead {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(0);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(8deg);\n  }\n}\n\n@keyframes hamsterEye {\n  from, 90%, to {\n    transform: scaleY(1);\n  }\n\n  95% {\n    transform: scaleY(0);\n  }\n}\n\n@keyframes hamsterEar {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(0);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(12deg);\n  }\n}\n\n@keyframes hamsterBody {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(0);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(-2deg);\n  }\n}\n\n@keyframes hamsterFRLimb {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(50deg) translateZ(-1px);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(-30deg) translateZ(-1px);\n  }\n}\n\n@keyframes hamsterFLLimb {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(-30deg);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(50deg);\n  }\n}\n\n@keyframes hamsterBRLimb {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(-60deg) translateZ(-1px);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(20deg) translateZ(-1px);\n  }\n}\n\n@keyframes hamsterBLLimb {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(20deg);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(-60deg);\n  }\n}\n\n@keyframes hamsterTail {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(30deg) translateZ(-1px);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(10deg) translateZ(-1px);\n  }\n}\n\n@keyframes spoke {\n  from {\n    transform: rotate(0);\n  }\n\n  to {\n    transform: rotate(-1turn);\n  }\n}",
    "file_path": "/mnt/persist/workspace/loaders/Nawsome_wet-mayfly-23.html"
  },
  "uniapp": {
    "template": "<view aria-label=\"Orange and tan hamster running in a metal wheel\" role=\"img\" class=\"wheel-and-hamster\"></view>\n\t<view class=\"wheel\"></view>\n\t<view class=\"hamster\"></view>\n\t\t<view class=\"hamster__body\"></view>\n\t\t\t<view class=\"hamster__head\"></view>\n\t\t\t\t<view class=\"hamster__ear\"></view>\n\t\t\t\t<view class=\"hamster__eye\"></view>\n\t\t\t\t<view class=\"hamster__nose\"></view>\n\t\t\t</div>\n\t\t\t<view class=\"hamster__limb hamster__limb--fr\"></view>\n\t\t\t<view class=\"hamster__limb hamster__limb--fl\"></view>\n\t\t\t<view class=\"hamster__limb hamster__limb--br\"></view>\n\t\t\t<view class=\"hamster__limb hamster__limb--bl\"></view>\n\t\t\t<view class=\"hamster__tail\"></view>\n\t\t</div>\n\t</div>\n\t<view class=\"spoke\"></view>\n</div>",
    "script": "export default {\n  name: 'GalaxyWetMayfly23',\n  props: {\n    // 根据组件类型动态生成props\n  },\n  data() {\n    return {\n      // 组件状态\n    };\n  },\n  methods: {\n    // 组件方法\n  }\n}",
    "style": "\n/* From Uiverse.io by Nawsome - Tags: loader, hamster, wheel, svg, animal */\n.wheel-and-hamster {\n  --dur: 1s;\n  position: relative;\n  width: 12em;\n  height: 12em;\n  font-size: 28rpx;\n}\n\n.wheel,\n.hamster,\n.hamster div,\n.spoke {\n  position: absolute;\n}\n\n.wheel,\n.spoke {\n  border-radius: 50%;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n}\n\n.wheel {\n  background: radial-gradient(100% 100% at center,hsla(0,0%,60%,0) 47.8%,hsl(0,0%,60%) 48%);\n  z-index: 2;\n}\n\n.hamster {\n  animation: hamster var(--dur) ease-in-out infinite;\n  top: 50%;\n  left: calc(50% - 3.5em);\n  width: 7em;\n  height: 3.75em;\n  transform: rotate(4deg) translate(-0.8em,1.85em);\n  transform-origin: 50% 0;\n  z-index: 1;\n}\n\n.hamster__head {\n  animation: hamsterHead var(--dur) ease-in-out infinite;\n  background: hsl(30,90%,55%);\n  border-radius: 70% 30% 0 100% / 40% 25% 25% 60%;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0 -0.25em 0 hsl(30,90%,80%) inset,\n\t\t0.75em -1.55em 0 hsl(30,90%,90%) inset;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  top: 0;\n  left: -2em;\n  width: 2.75em;\n  height: 2.5em;\n  transform-origin: 100% 50%;\n}\n\n.hamster__ear {\n  animation: hamsterEar var(--dur) ease-in-out infinite;\n  background: hsl(0,90%,85%);\n  border-radius: 50%;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: -0.25em 0 hsl(30,90%,55%) inset;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  top: -0.25em;\n  right: -0.25em;\n  width: 0.75em;\n  height: 0.75em;\n  transform-origin: 50% 75%;\n}\n\n.hamster__eye {\n  animation: hamsterEye var(--dur) linear infinite;\n  background-color: hsl(0,0%,0%);\n  border-radius: 50%;\n  top: 0.375em;\n  left: 1.25em;\n  width: 0.5em;\n  height: 0.5em;\n}\n\n.hamster__nose {\n  background: hsl(0,90%,75%);\n  border-radius: 35% 65% 85% 15% / 70% 50% 50% 30%;\n  top: 0.75em;\n  left: 0;\n  width: 0.2em;\n  height: 0.25em;\n}\n\n.hamster__body {\n  animation: hamsterBody var(--dur) ease-in-out infinite;\n  background: hsl(30,90%,90%);\n  border-radius: 50% 30% 50% 30% / 15% 60% 40% 40%;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0.1em 0.75em 0 hsl(30,90%,55%) inset,\n\t\t0.15em -0.5em 0 hsl(30,90%,80%) inset;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  top: 0.25em;\n  left: 2em;\n  width: 4.5em;\n  height: 3em;\n  transform-origin: 17% 50%;\n  transform-style: preserve-3d;\n}\n\n.hamster__limb--fr,\n.hamster__limb--fl {\n  \n  top: 2em;\n  left: 0.5em;\n  width: 1em;\n  height: 1.5em;\n  transform-origin: 50% 0;\n}\n\n.hamster__limb--fr {\n  animation: hamsterFRLimb var(--dur) linear infinite;\n  background: linear-gradient(hsl(30,90%,80%) 80%,hsl(0,90%,75%) 80%);\n  transform: rotate(15deg) translateZ(-2rpx);\n}\n\n.hamster__limb--fl {\n  animation: hamsterFLLimb var(--dur) linear infinite;\n  background: linear-gradient(hsl(30,90%,90%) 80%,hsl(0,90%,85%) 80%);\n  transform: rotate(15deg);\n}\n\n.hamster__limb--br,\n.hamster__limb--bl {\n  border-radius: 0.75em 0.75em 0 0;\n  \n  top: 1em;\n  left: 2.8em;\n  width: 1.5em;\n  height: 2.5em;\n  transform-origin: 50% 30%;\n}\n\n.hamster__limb--br {\n  animation: hamsterBRLimb var(--dur) linear infinite;\n  background: linear-gradient(hsl(30,90%,80%) 90%,hsl(0,90%,75%) 90%);\n  transform: rotate(-25deg) translateZ(-2rpx);\n}\n\n.hamster__limb--bl {\n  animation: hamsterBLLimb var(--dur) linear infinite;\n  background: linear-gradient(hsl(30,90%,90%) 90%,hsl(0,90%,85%) 90%);\n  transform: rotate(-25deg);\n}\n\n.hamster__tail {\n  animation: hamsterTail var(--dur) linear infinite;\n  background: hsl(0,90%,85%);\n  border-radius: 0.25em 50% 50% 0.25em;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0 -0.2em 0 hsl(0,90%,75%) inset;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  top: 1.5em;\n  right: -0.5em;\n  width: 1em;\n  height: 0.5em;\n  transform: rotate(30deg) translateZ(-2rpx);\n  transform-origin: 0.25em 0.25em;\n}\n\n.spoke {\n  animation: spoke var(--dur) linear infinite;\n  background: radial-gradient(100% 100% at center,hsl(0,0%,60%) 4.8%,hsla(0,0%,60%,0) 5%),\n\t\tlinear-gradient(hsla(0,0%,55%,0) 46.9%,hsl(0,0%,65%) 47% 52.9%,hsla(0,0%,65%,0) 53%) 50% 50% / 99% 99% no-repeat;\n}\n\n/* Animations */\n@keyframes hamster {\n  from, to {\n    transform: rotate(4deg) translate(-0.8em,1.85em);\n  }\n\n  50% {\n    transform: rotate(0) translate(-0.8em,1.85em);\n  }\n}\n\n@keyframes hamsterHead {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(0);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(8deg);\n  }\n}\n\n@keyframes hamsterEye {\n  from, 90%, to {\n    transform: scaleY(1);\n  }\n\n  95% {\n    transform: scaleY(0);\n  }\n}\n\n@keyframes hamsterEar {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(0);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(12deg);\n  }\n}\n\n@keyframes hamsterBody {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(0);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(-2deg);\n  }\n}\n\n@keyframes hamsterFRLimb {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(50deg) translateZ(-2rpx);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(-30deg) translateZ(-2rpx);\n  }\n}\n\n@keyframes hamsterFLLimb {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(-30deg);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(50deg);\n  }\n}\n\n@keyframes hamsterBRLimb {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(-60deg) translateZ(-2rpx);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(20deg) translateZ(-2rpx);\n  }\n}\n\n@keyframes hamsterBLLimb {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(20deg);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(-60deg);\n  }\n}\n\n@keyframes hamsterTail {\n  from, 25%, 50%, 75%, to {\n    transform: rotate(30deg) translateZ(-2rpx);\n  }\n\n  12.5%, 37.5%, 62.5%, 87.5% {\n    transform: rotate(10deg) translateZ(-2rpx);\n  }\n}\n\n@keyframes spoke {\n  from {\n    transform: rotate(0);\n  }\n\n  to {\n    transform: rotate(-1turn);\n  }\n}\n",
    "component_name": "GalaxyWetMayfly23"
  },
  "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 属性",
        "不支持 clip-path 属性"
      ],
      "alternatives": []
    },
    "mp-alipay": {
      "supported": true,
      "issues": [
        "不支持 box-shadow 属性",
        "不支持 clip-path 属性"
      ],
      "alternatives": []
    },
    "app-plus": {
      "supported": true,
      "issues": [],
      "alternatives": []
    }
  },
  "performance": {
    "complexity": "high",
    "bundle_size": 6220,
    "render_cost": "high",
    "memory_usage": "high"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:39.883Z",
  "updated_at": "2025-07-31T07:55:39.883Z"
}