{
  "id": "Nawsome_breezy-ape-20",
  "name": "breezy-ape-20",
  "category": "loaders",
  "author": "Nawsome",
  "description": "breezy-ape-20 组件 (loader, animation)",
  "tags": [
    "loader",
    "animation"
  ],
  "original": {
    "html": "<div class=\"pl\">\n\t<div class=\"pl__dot\"></div>\n\t<div class=\"pl__dot\"></div>\n\t<div class=\"pl__dot\"></div>\n\t<div class=\"pl__dot\"></div>\n\t<div class=\"pl__dot\"></div>\n\t<div class=\"pl__dot\"></div>\n\t<div class=\"pl__dot\"></div>\n\t<div class=\"pl__dot\"></div>\n\t<div class=\"pl__dot\"></div>\n\t<div class=\"pl__dot\"></div>\n\t<div class=\"pl__dot\"></div>\n\t<div class=\"pl__dot\"></div>\n\t<div class=\"pl__text\">Loading…</div>\n</div>",
    "css": "/* From Uiverse.io by Nawsome - Tags: loader */\n.pl {\n  box-shadow: 2em 0 2em rgba(0, 0, 0, 0.2) inset, -2em 0 2em rgba(255, 255, 255, 0.1) inset;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  position: relative;\n  letter-spacing: 0.1em;\n  text-transform: uppercase;\n  transform: rotateX(30deg) rotateZ(45deg);\n  width: 14em;\n  height: 14em;\n  color: white;\n}\n\n.pl, .pl__dot {\n  border-radius: 50%;\n}\n\n.pl__dot {\n  animation-name: shadow724;\n  box-shadow: 0.1em 0.1em 0 0.1em black, 0.3em 0 0.3em rgba(0, 0, 0, 0.5);\n  top: calc(50% - 0.75em);\n  left: calc(50% - 0.75em);\n  width: 1.5em;\n  height: 1.5em;\n}\n\n.pl__dot, .pl__dot:before, .pl__dot:after {\n  animation-duration: 2s;\n  animation-iteration-count: infinite;\n  position: absolute;\n}\n\n.pl__dot:before, .pl__dot:after {\n  content: \"\";\n  display: block;\n  left: 0;\n  width: inherit;\n  transition: background-color var(--trans-dur);\n}\n\n.pl__dot:before {\n  animation-name: pushInOut1724;\n  background-color: var(--bg);\n  border-radius: inherit;\n  box-shadow: 0.05em 0 0.1em rgba(255, 255, 255, 0.2) inset;\n  height: inherit;\n  z-index: 1;\n}\n\n.pl__dot:after {\n  animation-name: pushInOut2724;\n  background-color: var(--primary1);\n  border-radius: 0.75em;\n  box-shadow: 0.1em 0.3em 0.2em rgba(255, 255, 255, 0.4) inset, 0 -0.4em 0.2em #2e3138 inset, 0 -1em 0.25em rgba(0, 0, 0, 0.3) inset;\n  bottom: 0;\n  clip-path: polygon(0 75%, 100% 75%, 100% 100%, 0 100%);\n  height: 3em;\n  transform: rotate(-45deg);\n  transform-origin: 50% 2.25em;\n}\n\n.pl__dot:nth-child(1) {\n  transform: rotate(0deg) translateX(5em) rotate(0deg);\n  z-index: 5;\n}\n\n.pl__dot:nth-child(1), .pl__dot:nth-child(1):before, .pl__dot:nth-child(1):after {\n  animation-delay: 0s;\n}\n\n.pl__dot:nth-child(2) {\n  transform: rotate(-30deg) translateX(5em) rotate(30deg);\n  z-index: 4;\n}\n\n.pl__dot:nth-child(2), .pl__dot:nth-child(2):before, .pl__dot:nth-child(2):after {\n  animation-delay: -0.1666666667s;\n}\n\n.pl__dot:nth-child(3) {\n  transform: rotate(-60deg) translateX(5em) rotate(60deg);\n  z-index: 3;\n}\n\n.pl__dot:nth-child(3), .pl__dot:nth-child(3):before, .pl__dot:nth-child(3):after {\n  animation-delay: -0.3333333333s;\n}\n\n.pl__dot:nth-child(4) {\n  transform: rotate(-90deg) translateX(5em) rotate(90deg);\n  z-index: 2;\n}\n\n.pl__dot:nth-child(4), .pl__dot:nth-child(4):before, .pl__dot:nth-child(4):after {\n  animation-delay: -0.5s;\n}\n\n.pl__dot:nth-child(5) {\n  transform: rotate(-120deg) translateX(5em) rotate(120deg);\n  z-index: 1;\n}\n\n.pl__dot:nth-child(5), .pl__dot:nth-child(5):before, .pl__dot:nth-child(5):after {\n  animation-delay: -0.6666666667s;\n}\n\n.pl__dot:nth-child(6) {\n  transform: rotate(-150deg) translateX(5em) rotate(150deg);\n  z-index: 1;\n}\n\n.pl__dot:nth-child(6), .pl__dot:nth-child(6):before, .pl__dot:nth-child(6):after {\n  animation-delay: -0.8333333333s;\n}\n\n.pl__dot:nth-child(7) {\n  transform: rotate(-180deg) translateX(5em) rotate(180deg);\n  z-index: 2;\n}\n\n.pl__dot:nth-child(7), .pl__dot:nth-child(7):before, .pl__dot:nth-child(7):after {\n  animation-delay: -1s;\n}\n\n.pl__dot:nth-child(8) {\n  transform: rotate(-210deg) translateX(5em) rotate(210deg);\n  z-index: 3;\n}\n\n.pl__dot:nth-child(8), .pl__dot:nth-child(8):before, .pl__dot:nth-child(8):after {\n  animation-delay: -1.1666666667s;\n}\n\n.pl__dot:nth-child(9) {\n  transform: rotate(-240deg) translateX(5em) rotate(240deg);\n  z-index: 4;\n}\n\n.pl__dot:nth-child(9), .pl__dot:nth-child(9):before, .pl__dot:nth-child(9):after {\n  animation-delay: -1.3333333333s;\n}\n\n.pl__dot:nth-child(10) {\n  transform: rotate(-270deg) translateX(5em) rotate(270deg);\n  z-index: 5;\n}\n\n.pl__dot:nth-child(10), .pl__dot:nth-child(10):before, .pl__dot:nth-child(10):after {\n  animation-delay: -1.5s;\n}\n\n.pl__dot:nth-child(11) {\n  transform: rotate(-300deg) translateX(5em) rotate(300deg);\n  z-index: 6;\n}\n\n.pl__dot:nth-child(11), .pl__dot:nth-child(11):before, .pl__dot:nth-child(11):after {\n  animation-delay: -1.6666666667s;\n}\n\n.pl__dot:nth-child(12) {\n  transform: rotate(-330deg) translateX(5em) rotate(330deg);\n  z-index: 6;\n}\n\n.pl__dot:nth-child(12), .pl__dot:nth-child(12):before, .pl__dot:nth-child(12):after {\n  animation-delay: -1.8333333333s;\n}\n\n.pl__text {\n  font-size: 0.75em;\n  max-width: 5rem;\n  position: relative;\n  text-shadow: 0 0 0.1em var(--fg-t);\n  transform: rotateZ(-45deg);\n}\n\n/* Animations */\n@keyframes shadow724 {\n  from {\n    animation-timing-function: ease-in;\n    box-shadow: 0.1em 0.1em 0 0.1em black, 0.3em 0 0.3em rgba(0, 0, 0, 0.3);\n  }\n\n  25% {\n    animation-timing-function: ease-out;\n    box-shadow: 0.1em 0.1em 0 0.1em black, 0.8em 0 0.8em rgba(0, 0, 0, 0.5);\n  }\n\n  50%, to {\n    box-shadow: 0.1em 0.1em 0 0.1em black, 0.3em 0 0.3em rgba(0, 0, 0, 0.3);\n  }\n}\n\n@keyframes pushInOut1724 {\n  from {\n    animation-timing-function: ease-in;\n    background-color: var(--bg);\n    transform: translate(0, 0);\n  }\n\n  25% {\n    animation-timing-function: ease-out;\n    background-color: var(--primary2);\n    transform: translate(-71%, -71%);\n  }\n\n  50%, to {\n    background-color: var(--bg);\n    transform: translate(0, 0);\n  }\n}\n\n@keyframes pushInOut2724 {\n  from {\n    animation-timing-function: ease-in;\n    background-color: var(--bg);\n    clip-path: polygon(0 75%, 100% 75%, 100% 100%, 0 100%);\n  }\n\n  25% {\n    animation-timing-function: ease-out;\n    background-color: var(--primary1);\n    clip-path: polygon(0 25%, 100% 25%, 100% 100%, 0 100%);\n  }\n\n  50%, to {\n    background-color: var(--bg);\n    clip-path: polygon(0 75%, 100% 75%, 100% 100%, 0 100%);\n  }\n}",
    "file_path": "/mnt/persist/workspace/loaders/Nawsome_breezy-ape-20.html"
  },
  "uniapp": {
    "template": "<view class=\"pl\"></view>\n\t<view class=\"pl__dot\"></view>\n\t<view class=\"pl__dot\"></view>\n\t<view class=\"pl__dot\"></view>\n\t<view class=\"pl__dot\"></view>\n\t<view class=\"pl__dot\"></view>\n\t<view class=\"pl__dot\"></view>\n\t<view class=\"pl__dot\"></view>\n\t<view class=\"pl__dot\"></view>\n\t<view class=\"pl__dot\"></view>\n\t<view class=\"pl__dot\"></view>\n\t<view class=\"pl__dot\"></view>\n\t<view class=\"pl__dot\"></view>\n\t<view class=\"pl__text\">Loading…</view>\n</div>",
    "script": "export default {\n  name: 'GalaxyBreezyApe20',\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 */\n.pl {\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 2em 0 2em rgba(0, 0, 0, 0.2) inset, -2em 0 2em rgba(255, 255, 255, 0.1) inset;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  position: relative;\n  letter-spacing: 0.1em;\n  text-transform: uppercase;\n  transform: rotateX(30deg) rotateZ(45deg);\n  width: 14em;\n  height: 14em;\n  color: white;\n}\n\n.pl, .pl__dot {\n  border-radius: 50%;\n}\n\n.pl__dot {\n  animation-name: shadow724;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0.1em 0.1em 0 0.1em black, 0.3em 0 0.3em rgba(0, 0, 0, 0.5);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  top: calc(50% - 0.75em);\n  left: calc(50% - 0.75em);\n  width: 1.5em;\n  height: 1.5em;\n}\n\n.pl__dot, .pl__dot:before, .pl__dot:after {\n  animation-duration: 2s;\n  animation-iteration-count: infinite;\n  position: absolute;\n}\n\n.pl__dot:before, .pl__dot:after {\n  content: \"\";\n  display: block;\n  left: 0;\n  width: inherit;\n  transition: background-color var(--trans-dur);\n}\n\n.pl__dot:before {\n  animation-name: pushInOut1724;\n  background-color: var(--bg);\n  border-radius: inherit;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0.05em 0 0.1em rgba(255, 255, 255, 0.2) inset;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  height: inherit;\n  z-index: 1;\n}\n\n.pl__dot:after {\n  animation-name: pushInOut2724;\n  background-color: var(--primary1);\n  border-radius: 0.75em;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0.1em 0.3em 0.2em rgba(255, 255, 255, 0.4) inset, 0 -0.4em 0.2em #2e3138 inset, 0 -1em 0.25em rgba(0, 0, 0, 0.3) inset;\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  bottom: 0;\n  \n  height: 3em;\n  transform: rotate(-45deg);\n  transform-origin: 50% 2.25em;\n}\n\n.pl__dot:nth-child(1) {\n  transform: rotate(0deg) translateX(5em) rotate(0deg);\n  z-index: 5;\n}\n\n.pl__dot:nth-child(1), .pl__dot:nth-child(1):before, .pl__dot:nth-child(1):after {\n  animation-delay: 0s;\n}\n\n.pl__dot:nth-child(2) {\n  transform: rotate(-30deg) translateX(5em) rotate(30deg);\n  z-index: 4;\n}\n\n.pl__dot:nth-child(2), .pl__dot:nth-child(2):before, .pl__dot:nth-child(2):after {\n  animation-delay: -0.1666666667s;\n}\n\n.pl__dot:nth-child(3) {\n  transform: rotate(-60deg) translateX(5em) rotate(60deg);\n  z-index: 3;\n}\n\n.pl__dot:nth-child(3), .pl__dot:nth-child(3):before, .pl__dot:nth-child(3):after {\n  animation-delay: -0.3333333333s;\n}\n\n.pl__dot:nth-child(4) {\n  transform: rotate(-90deg) translateX(5em) rotate(90deg);\n  z-index: 2;\n}\n\n.pl__dot:nth-child(4), .pl__dot:nth-child(4):before, .pl__dot:nth-child(4):after {\n  animation-delay: -0.5s;\n}\n\n.pl__dot:nth-child(5) {\n  transform: rotate(-120deg) translateX(5em) rotate(120deg);\n  z-index: 1;\n}\n\n.pl__dot:nth-child(5), .pl__dot:nth-child(5):before, .pl__dot:nth-child(5):after {\n  animation-delay: -0.6666666667s;\n}\n\n.pl__dot:nth-child(6) {\n  transform: rotate(-150deg) translateX(5em) rotate(150deg);\n  z-index: 1;\n}\n\n.pl__dot:nth-child(6), .pl__dot:nth-child(6):before, .pl__dot:nth-child(6):after {\n  animation-delay: -0.8333333333s;\n}\n\n.pl__dot:nth-child(7) {\n  transform: rotate(-180deg) translateX(5em) rotate(180deg);\n  z-index: 2;\n}\n\n.pl__dot:nth-child(7), .pl__dot:nth-child(7):before, .pl__dot:nth-child(7):after {\n  animation-delay: -1s;\n}\n\n.pl__dot:nth-child(8) {\n  transform: rotate(-210deg) translateX(5em) rotate(210deg);\n  z-index: 3;\n}\n\n.pl__dot:nth-child(8), .pl__dot:nth-child(8):before, .pl__dot:nth-child(8):after {\n  animation-delay: -1.1666666667s;\n}\n\n.pl__dot:nth-child(9) {\n  transform: rotate(-240deg) translateX(5em) rotate(240deg);\n  z-index: 4;\n}\n\n.pl__dot:nth-child(9), .pl__dot:nth-child(9):before, .pl__dot:nth-child(9):after {\n  animation-delay: -1.3333333333s;\n}\n\n.pl__dot:nth-child(10) {\n  transform: rotate(-270deg) translateX(5em) rotate(270deg);\n  z-index: 5;\n}\n\n.pl__dot:nth-child(10), .pl__dot:nth-child(10):before, .pl__dot:nth-child(10):after {\n  animation-delay: -1.5s;\n}\n\n.pl__dot:nth-child(11) {\n  transform: rotate(-300deg) translateX(5em) rotate(300deg);\n  z-index: 6;\n}\n\n.pl__dot:nth-child(11), .pl__dot:nth-child(11):before, .pl__dot:nth-child(11):after {\n  animation-delay: -1.6666666667s;\n}\n\n.pl__dot:nth-child(12) {\n  transform: rotate(-330deg) translateX(5em) rotate(330deg);\n  z-index: 6;\n}\n\n.pl__dot:nth-child(12), .pl__dot:nth-child(12):before, .pl__dot:nth-child(12):after {\n  animation-delay: -1.8333333333s;\n}\n\n.pl__text {\n  font-size: 0.75em;\n  max-width: 5rem;\n  position: relative;\n  /* #ifdef H5 */\n  text-shadow: 0 0 0.1em var(--fg-t);\n  /* #endif */\n  transform: rotateZ(-45deg);\n}\n\n/* Animations */\n@keyframes shadow724 {\n  from {\n    animation-timing-function: ease-in;\n    /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0.1em 0.1em 0 0.1em black, 0.3em 0 0.3em rgba(0, 0, 0, 0.3);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  }\n\n  25% {\n    animation-timing-function: ease-out;\n    /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0.1em 0.1em 0 0.1em black, 0.8em 0 0.8em rgba(0, 0, 0, 0.5);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  }\n\n  50%, to {\n    /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0.1em 0.1em 0 0.1em black, 0.3em 0 0.3em rgba(0, 0, 0, 0.3);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  }\n}\n\n@keyframes pushInOut1724 {\n  from {\n    animation-timing-function: ease-in;\n    background-color: var(--bg);\n    transform: translate(0, 0);\n  }\n\n  25% {\n    animation-timing-function: ease-out;\n    background-color: var(--primary2);\n    transform: translate(-71%, -71%);\n  }\n\n  50%, to {\n    background-color: var(--bg);\n    transform: translate(0, 0);\n  }\n}\n\n@keyframes pushInOut2724 {\n  from {\n    animation-timing-function: ease-in;\n    background-color: var(--bg);\n    \n  }\n\n  25% {\n    animation-timing-function: ease-out;\n    background-color: var(--primary1);\n    \n  }\n\n  50%, to {\n    background-color: var(--bg);\n    \n  }\n}\n",
    "component_name": "GalaxyBreezyApe20"
  },
  "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 属性",
        "不支持 text-shadow 属性",
        "不支持 clip-path 属性"
      ],
      "alternatives": []
    },
    "mp-alipay": {
      "supported": true,
      "issues": [
        "不支持 box-shadow 属性",
        "不支持 text-shadow 属性",
        "不支持 clip-path 属性"
      ],
      "alternatives": []
    },
    "app-plus": {
      "supported": true,
      "issues": [],
      "alternatives": []
    }
  },
  "performance": {
    "complexity": "high",
    "bundle_size": 5904,
    "render_cost": "high",
    "memory_usage": "high"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:39.753Z",
  "updated_at": "2025-07-31T07:55:39.753Z"
}