{
  "id": "Smit-Prajapati_tricky-turtle-16",
  "name": "tricky-turtle-16",
  "category": "loaders",
  "author": "Smit-Prajapati",
  "description": "tricky-turtle-16 组件 (loader, dark, animated, black, minimalist, circle, modern, symbol, geometric, ripple, animation, gradient)",
  "tags": [
    "loader",
    "dark",
    "animated",
    "black",
    "minimalist",
    "circle",
    "modern",
    "symbol",
    "geometric",
    "ripple",
    "animation",
    "gradient"
  ],
  "original": {
    "html": "<div class=\"loader\">\n  <div class=\"box\">\n    <div class=\"logo\">\n      <svg class=\"svg\" viewBox=\"0 0 94 94\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n        <path d=\"M38.0481 4.82927C38.0481 2.16214 40.018 0 42.4481 0H51.2391C53.6692 0 55.6391 2.16214 55.6391 4.82927V40.1401C55.6391 48.8912 53.2343 55.6657 48.4248 60.4636C43.6153 65.2277 36.7304 67.6098 27.7701 67.6098C18.8099 67.6098 11.925 65.2953 7.11548 60.6663C2.37183 56.0036 3.8147e-06 49.2967 3.8147e-06 40.5456V4.82927C3.8147e-06 2.16213 1.96995 0 4.4 0H13.2405C15.6705 0 17.6405 2.16214 17.6405 4.82927V39.1265C17.6405 43.7892 18.4805 47.2018 20.1605 49.3642C21.8735 51.5267 24.4759 52.6079 27.9678 52.6079C31.4596 52.6079 34.0127 51.5436 35.6268 49.4149C37.241 47.2863 38.0481 43.8399 38.0481 39.0758V4.82927Z\"></path>\n        <path d=\"M86.9 61.8682C86.9 64.5353 84.9301 66.6975 82.5 66.6975H73.6595C71.2295 66.6975 69.2595 64.5353 69.2595 61.8682V4.82927C69.2595 2.16214 71.2295 0 73.6595 0H82.5C84.9301 0 86.9 2.16214 86.9 4.82927V61.8682Z\"></path>\n        <path d=\"M2.86102e-06 83.2195C2.86102e-06 80.5524 1.96995 78.3902 4.4 78.3902H83.6C86.0301 78.3902 88 80.5524 88 83.2195V89.1707C88 91.8379 86.0301 94 83.6 94H4.4C1.96995 94 0 91.8379 0 89.1707L2.86102e-06 83.2195Z\"></path>\n      </svg>\n    </div>\n  </div>\n  <div class=\"box\"></div>\n  <div class=\"box\"></div>\n  <div class=\"box\"></div>\n  <div class=\"box\"></div>\n</div>",
    "css": "/* From Uiverse.io by Smit-Prajapati  - Tags: loader, dark, animated, loader, black, minimalist, circle, modern, symbol, geometric, ripple */\n.loader {\n  --size: 250px;\n  --duration: 2s;\n  --logo-color: grey;\n  --background: linear-gradient(\n    0deg,\n    rgba(50, 50, 50, 0.2) 0%,\n    rgba(100, 100, 100, 0.2) 100%\n  );\n  height: var(--size);\n  aspect-ratio: 1;\n  background: black;\n  position: relative;\n}\n\n.loader .box {\n  position: absolute;\n  background: rgba(100, 100, 100, 0.15);\n  background: var(--background);\n  border-radius: 50%;\n  border-top: 1px solid rgba(100, 100, 100, 1);\n  box-shadow: rgba(0, 0, 0, 0.3) 0px 10px 10px -0px;\n  backdrop-filter: blur(5px);\n  animation: ripple var(--duration) infinite ease-in-out;\n}\n\n.loader .box:nth-child(1) {\n  inset: 40%;\n  z-index: 99;\n}\n\n.loader .box:nth-child(2) {\n  inset: 30%;\n  z-index: 98;\n  border-color: rgba(100, 100, 100, 0.8);\n  animation-delay: 0.2s;\n}\n\n.loader .box:nth-child(3) {\n  inset: 20%;\n  z-index: 97;\n  border-color: rgba(100, 100, 100, 0.6);\n  animation-delay: 0.4s;\n}\n\n.loader .box:nth-child(4) {\n  inset: 10%;\n  z-index: 96;\n  border-color: rgba(100, 100, 100, 0.4);\n  animation-delay: 0.6s;\n}\n\n.loader .box:nth-child(5) {\n  inset: 0%;\n  z-index: 95;\n  border-color: rgba(100, 100, 100, 0.2);\n  animation-delay: 0.8s;\n}\n\n.loader .logo {\n  position: absolute;\n  inset: 0;\n  display: grid;\n  place-content: center;\n  padding: 30%;\n}\n\n.loader .logo svg {\n  fill: var(--logo-color);\n  width: 100%;\n  animation: color-change var(--duration) infinite ease-in-out;\n}\n\n@keyframes ripple {\n  0% {\n    transform: scale(1);\n    box-shadow: rgba(0, 0, 0, 0.3) 0px 10px 10px -0px;\n  }\n  50% {\n    transform: scale(1.3);\n    box-shadow: rgba(0, 0, 0, 0.3) 0px 30px 20px -0px;\n  }\n  100% {\n    transform: scale(1);\n    box-shadow: rgba(0, 0, 0, 0.3) 0px 10px 10px -0px;\n  }\n}\n\n@keyframes color-change {\n  0% {\n    fill: var(--logo-color);\n  }\n  50% {\n    fill: white;\n  }\n  100% {\n    fill: var(--logo-color);\n  }\n}",
    "file_path": "/mnt/persist/workspace/loaders/Smit-Prajapati_tricky-turtle-16.html"
  },
  "uniapp": {
    "template": "<view class=\"loader\"></view>\n  <view class=\"box\"></view>\n    <view class=\"logo\"></view>\n      <view class=\"svg\" viewBox=\"0 0 94 94\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"></view>\n        <path d=\"M38.0481 4.82927C38.0481 2.16214 40.018 0 42.4481 0H51.2391C53.6692 0 55.6391 2.16214 55.6391 4.82927V40.1401C55.6391 48.8912 53.2343 55.6657 48.4248 60.4636C43.6153 65.2277 36.7304 67.6098 27.7701 67.6098C18.8099 67.6098 11.925 65.2953 7.11548 60.6663C2.37183 56.0036 3.8147e-06 49.2967 3.8147e-06 40.5456V4.82927C3.8147e-06 2.16213 1.96995 0 4.4 0H13.2405C15.6705 0 17.6405 2.16214 17.6405 4.82927V39.1265C17.6405 43.7892 18.4805 47.2018 20.1605 49.3642C21.8735 51.5267 24.4759 52.6079 27.9678 52.6079C31.4596 52.6079 34.0127 51.5436 35.6268 49.4149C37.241 47.2863 38.0481 43.8399 38.0481 39.0758V4.82927Z\"></path>\n        <path d=\"M86.9 61.8682C86.9 64.5353 84.9301 66.6975 82.5 66.6975H73.6595C71.2295 66.6975 69.2595 64.5353 69.2595 61.8682V4.82927C69.2595 2.16214 71.2295 0 73.6595 0H82.5C84.9301 0 86.9 2.16214 86.9 4.82927V61.8682Z\"></path>\n        <path d=\"M2.86102e-06 83.2195C2.86102e-06 80.5524 1.96995 78.3902 4.4 78.3902H83.6C86.0301 78.3902 88 80.5524 88 83.2195V89.1707C88 91.8379 86.0301 94 83.6 94H4.4C1.96995 94 0 91.8379 0 89.1707L2.86102e-06 83.2195Z\"></path>\n      </svg>\n    </div>\n  </div>\n  <view class=\"box\"></view>\n  <view class=\"box\"></view>\n  <view class=\"box\"></view>\n  <view class=\"box\"></view>\n</div>",
    "script": "export default {\n  name: 'GalaxyTrickyTurtle16',\n  props: {\n    // 根据组件类型动态生成props\n  },\n  data() {\n    return {\n      // 组件状态\n    };\n  },\n  methods: {\n    // 组件方法\n  }\n}",
    "style": "\n/* From Uiverse.io by Smit-Prajapati  - Tags: loader, dark, animated, loader, black, minimalist, circle, modern, symbol, geometric, ripple */\n.loader {\n  --size: 500rpx;\n  --duration: 2s;\n  --logo-color: grey;\n  --background: linear-gradient(\n    0deg,\n    rgba(50, 50, 50, 0.2) 0%,\n    rgba(100, 100, 100, 0.2) 100%\n  );\n  height: var(--size);\n  aspect-ratio: 1;\n  background: black;\n  position: relative;\n}\n\n.loader .box {\n  position: absolute;\n  background: rgba(100, 100, 100, 0.15);\n  background: var(--background);\n  border-radius: 50%;\n  border-top: 2rpx solid rgba(100, 100, 100, 1);\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: rgba(0, 0, 0, 0.3) 0rpx 20rpx 20rpx -0rpx;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  backdrop-\n  animation: ripple var(--duration) infinite ease-in-out;\n}\n\n.loader .box:nth-child(1) {\n  inset: 40%;\n  z-index: 99;\n}\n\n.loader .box:nth-child(2) {\n  inset: 30%;\n  z-index: 98;\n  border-color: rgba(100, 100, 100, 0.8);\n  animation-delay: 0.2s;\n}\n\n.loader .box:nth-child(3) {\n  inset: 20%;\n  z-index: 97;\n  border-color: rgba(100, 100, 100, 0.6);\n  animation-delay: 0.4s;\n}\n\n.loader .box:nth-child(4) {\n  inset: 10%;\n  z-index: 96;\n  border-color: rgba(100, 100, 100, 0.4);\n  animation-delay: 0.6s;\n}\n\n.loader .box:nth-child(5) {\n  inset: 0%;\n  z-index: 95;\n  border-color: rgba(100, 100, 100, 0.2);\n  animation-delay: 0.8s;\n}\n\n.loader .logo {\n  position: absolute;\n  inset: 0;\n  display: grid;\n  place-content: center;\n  padding: 30%;\n}\n\n.loader .logo svg {\n  fill: var(--logo-color);\n  width: 100%;\n  animation: color-change var(--duration) infinite ease-in-out;\n}\n\n@keyframes ripple {\n  0% {\n    transform: scale(1);\n    /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: rgba(0, 0, 0, 0.3) 0rpx 20rpx 20rpx -0rpx;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  }\n  50% {\n    transform: scale(1.3);\n    /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: rgba(0, 0, 0, 0.3) 0rpx 60rpx 40rpx -0rpx;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  }\n  100% {\n    transform: scale(1);\n    /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: rgba(0, 0, 0, 0.3) 0rpx 20rpx 20rpx -0rpx;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  }\n}\n\n@keyframes color-change {\n  0% {\n    fill: var(--logo-color);\n  }\n  50% {\n    fill: white;\n  }\n  100% {\n    fill: var(--logo-color);\n  }\n}\n\n",
    "component_name": "GalaxyTrickyTurtle16"
  },
  "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 属性",
        "不支持 backdrop-filter 属性"
      ],
      "alternatives": []
    },
    "mp-alipay": {
      "supported": true,
      "issues": [
        "不支持 box-shadow 属性",
        "不支持 filter 属性",
        "不支持 backdrop-filter 属性"
      ],
      "alternatives": []
    },
    "app-plus": {
      "supported": true,
      "issues": [],
      "alternatives": []
    }
  },
  "performance": {
    "complexity": "high",
    "bundle_size": 3386,
    "render_cost": "high",
    "memory_usage": "high"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:40.524Z",
  "updated_at": "2025-07-31T07:55:40.524Z"
}