{
  "id": "barisdogansutcu_yellow-husky-22",
  "name": "yellow-husky-22",
  "category": "buttons",
  "author": "barisdogansutcu",
  "description": "yellow-husky-22 组件 (button, animation)",
  "tags": [
    "button",
    "animation"
  ],
  "original": {
    "html": "<div class=\"plane-button\">\n    <input type=\"checkbox\" name=\"checkbox\" id=\"checkbox\">\n    <button>\n        <div class=\"plane\">\n            <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n                <path fill=\"none\" d=\"M0 0h24v24H0V0z\"></path>\n                <path style=\"fill: #091607;stroke-width: 1px;stroke: hsl(0deg 0% 100%);\" d=\"M21 14.58c0-.36-.19-.69-.49-.89L13 9V3.5c0-.83-.67-1.5-1.5-1.5S10 2.67 10 3.5V9l-7.51 4.69c-.3.19-.49.53-.49.89 0 .7.68 1.21 1.36 1L10 13.5V19l-1.8 1.35c-.13.09-.2.24-.2.4v.59c0 .33.32.57.64.48L11.5 21l2.86.82c.32.09.64-.15.64-.48v-.59c0-.16-.07-.31-.2-.4L13 19v-5.5l6.64 2.08c.68.21 1.36-.3 1.36-1z\"></path>\n            </svg>\n        </div>\n        <span class=\"loading\"> <i></i> <i></i> <i></i></span>\n        <span class=\"title\">Buy a ticket</span>\n        <span class=\"approved\">Approved</span>\n    </button>\n</div>",
    "css": "/* From Uiverse.io by barisdogansutcu - Tags: button */\nbutton {\n  width: 180px;\n  height: 55px;\n  border-radius: 50px;\n  border: solid 4px rgba(255, 255, 255, 0);\n  background-clip: padding-box;\n  box-shadow: 0 4px 20px -2px rgba(39, 94, 254, 0.5);\n  background-color: hsl(241deg 44% 49%);\n  font-size: 20px;\n  letter-spacing: 1px;\n  font-weight: 100;\n  position: relative;\n  cursor: pointer;\n  color: white;\n}\n\n.loading {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%,-50%);\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 7px;\n  z-index: 0;\n}\n\n.loading i {\n  width: 5px;\n  height: 5px;\n  background-color: white;\n  display: inline-flex;\n  border-radius: 100%;\n  animation-name: loading5234;\n  animation-iteration-count: infinite;\n  animation-duration: 1s;\n}\n\n@keyframes loading5234 {\n  100% {\n    opacity: 0;\n  }\n}\n\ninput:checked + button {\n  transition-delay: 4s;\n  background-color: #31cb20;\n  box-shadow: 0 4px 20px -2px rgb(49 203 32);\n}\n\n.title, .approved {\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  transform: translate(-50%,-50%);\n  width: 100%;\n  display: block;\n  font-size: 15px;\n}\n\nbutton .title {\n  background-color: hsl(241deg 44% 49%);\n  width: 90%;\n}\n\ninput:checked + button .approved {\n  transition-delay: 4s;\n  visibility: visible;\n  opacity: 1;\n  background-color: #31cb20;\n  width: 90%;\n}\n\ninput:checked + button .title {\n  visibility: hidden;\n  opacity: 0;\n  transition: all .5s ease;\n}\n\ninput:not(:checked) + button .approved {\n  visibility: hidden;\n  opacity: 1;\n}\n\ninput {\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  transform: translate(-50%,-50%);\n  z-index: 999;\n  outline: none;\n  width: 210px;\n  height: 60px;\n  border-radius: 50px;\n  margin: 0;\n  opacity: 0;\n  cursor: pointer;\n}\n\n.plane {\n  width: 55px;\n  height: 55px;\n  border-radius: 100%;\n  position: absolute;\n  left: 0;\n  z-index: 9;\n  top: 0;\n  transition: none;\n  background-color: transparent;\n  opacity: 0;\n}\n\n.plane svg {\n  width: 45px;\n  height: 45px;\n  position: absolute;\n  left: 0px;\n  top: 0px;\n  transform: rotate(90deg) translate(-50%,-40%) scale(1);\n  transition: all 0s ease;\n  fill: #3c4a57;\n}\n\ninput:checked + button .plane {\n  animation: airplane-route 4s forwards;\n  animation-timing-function: cubic-bezier(0, 0, 0, 0);\n}\n\n@keyframes airplane-route {\n  0% {\n    left: -300px;\n    opacity: 1;\n    transform: scale(2);\n  }\n\n  20% {\n    left: 0px;\n    transform: scale(1);\n    opacity: 1;\n  }\n\n  40% {\n    left: 100%;\n    opacity: 1;\n    transform: translateX(-100%);\n  }\n\n  60% {\n    left: 100%;\n    opacity: 1;\n    transform: translateX(-100%) translateY(-6%) rotate(180deg);\n  }\n\n  80% {\n    left: 0%;\n    opacity: 1;\n    top: -6px;\n    transform: translateX(0%) rotate(180deg);\n  }\n\n  100% {\n    left: 0%;\n    opacity: 1;\n    transform: translateX(0%) rotate(360deg);\n  }\n}",
    "file_path": "/mnt/persist/workspace/Buttons/barisdogansutcu_yellow-husky-22.html"
  },
  "uniapp": {
    "template": "<view class=\"plane-button\"></view>\n    <input type=\"checkbox\" name=\"checkbox\" id=\"checkbox\"></input>\n    <button></button>\n        <view class=\"plane\"></view>\n            <view xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"></view>\n                <path fill=\"none\" d=\"M0 0h24v24H0V0z\"></path>\n                <path style=\"fill: #091607;stroke-width: 1px;stroke: hsl(0deg 0% 100%);\" d=\"M21 14.58c0-.36-.19-.69-.49-.89L13 9V3.5c0-.83-.67-1.5-1.5-1.5S10 2.67 10 3.5V9l-7.51 4.69c-.3.19-.49.53-.49.89 0 .7.68 1.21 1.36 1L10 13.5V19l-1.8 1.35c-.13.09-.2.24-.2.4v.59c0 .33.32.57.64.48L11.5 21l2.86.82c.32.09.64-.15.64-.48v-.59c0-.16-.07-.31-.2-.4L13 19v-5.5l6.64 2.08c.68.21 1.36-.3 1.36-1z\"></path>\n            </svg>\n        </div>\n        <text class=\"loading\"> <i></i> <i></i> <i></i></text>\n        <text class=\"title\">Buy a ticket</text>\n        <text class=\"approved\">Approved</text>\n    </button>\n</div>",
    "script": "export default {\n  name: 'GalaxyYellowHusky22',\n  props: {\n    // 根据组件类型动态生成props\n  },\n  data() {\n    return {\n      // 组件状态\n    };\n  },\n  methods: {\n    // 组件方法\n  }\n}",
    "style": "\n/* From Uiverse.io by barisdogansutcu - Tags: button */\nbutton {\n  width: 360rpx;\n  height: 110rpx;\n  border-radius: 100rpx;\n  border: solid 8rpx rgba(255, 255, 255, 0);\n  background-clip: padding-box;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0 8rpx 40rpx -4rpx rgba(39, 94, 254, 0.5);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  background-color: hsl(241deg 44% 49%);\n  font-size: 40rpx;\n  letter-spacing: 2rpx;\n  font-weight: 100;\n  position: relative;\n  /* #ifdef H5 */\n  cursor: pointer;\n  /* #endif */\n  color: white;\n}\n\n.loading {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%,-50%);\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 14rpx;\n  z-index: 0;\n}\n\n.loading i {\n  width: 10rpx;\n  height: 10rpx;\n  background-color: white;\n  display: inline-flex;\n  border-radius: 100%;\n  animation-name: loading5234;\n  animation-iteration-count: infinite;\n  animation-duration: 1s;\n}\n\n@keyframes loading5234 {\n  100% {\n    opacity: 0;\n  }\n}\n\ninput:checked + button {\n  transition-delay: 4s;\n  background-color: #31cb20;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0 8rpx 40rpx -4rpx rgb(49 203 32);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n}\n\n.title, .approved {\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  transform: translate(-50%,-50%);\n  width: 100%;\n  display: block;\n  font-size: 30rpx;\n}\n\nbutton .title {\n  background-color: hsl(241deg 44% 49%);\n  width: 90%;\n}\n\ninput:checked + button .approved {\n  transition-delay: 4s;\n  visibility: visible;\n  opacity: 1;\n  background-color: #31cb20;\n  width: 90%;\n}\n\ninput:checked + button .title {\n  visibility: hidden;\n  opacity: 0;\n  transition: all .5s ease;\n}\n\ninput:not(:checked) + button .approved {\n  visibility: hidden;\n  opacity: 1;\n}\n\ninput {\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  transform: translate(-50%,-50%);\n  z-index: 999;\n  outline: none;\n  width: 420rpx;\n  height: 120rpx;\n  border-radius: 100rpx;\n  margin: 0;\n  opacity: 0;\n  /* #ifdef H5 */\n  cursor: pointer;\n  /* #endif */\n}\n\n.plane {\n  width: 110rpx;\n  height: 110rpx;\n  border-radius: 100%;\n  position: absolute;\n  left: 0;\n  z-index: 9;\n  top: 0;\n  transition: none;\n  background-color: transparent;\n  opacity: 0;\n}\n\n.plane svg {\n  width: 90rpx;\n  height: 90rpx;\n  position: absolute;\n  left: 0rpx;\n  top: 0rpx;\n  transform: rotate(90deg) translate(-50%,-40%) scale(1);\n  transition: all 0s ease;\n  fill: #3c4a57;\n}\n\ninput:checked + button .plane {\n  animation: airplane-route 4s forwards;\n  animation-timing-function: cubic-bezier(0, 0, 0, 0);\n}\n\n@keyframes airplane-route {\n  0% {\n    left: -600rpx;\n    opacity: 1;\n    transform: scale(2);\n  }\n\n  20% {\n    left: 0rpx;\n    transform: scale(1);\n    opacity: 1;\n  }\n\n  40% {\n    left: 100%;\n    opacity: 1;\n    transform: translateX(-100%);\n  }\n\n  60% {\n    left: 100%;\n    opacity: 1;\n    transform: translateX(-100%) translateY(-6%) rotate(180deg);\n  }\n\n  80% {\n    left: 0%;\n    opacity: 1;\n    top: -12rpx;\n    transform: translateX(0%) rotate(180deg);\n  }\n\n  100% {\n    left: 0%;\n    opacity: 1;\n    transform: translateX(0%) rotate(360deg);\n  }\n}\n\n",
    "component_name": "GalaxyYellowHusky22"
  },
  "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": "是否禁用"
    },
    {
      "name": "text",
      "type": "String",
      "default": "按钮",
      "required": false,
      "description": "按钮文字"
    },
    {
      "name": "type",
      "type": "String",
      "default": "primary",
      "required": false,
      "description": "按钮类型"
    }
  ],
  "events": [
    {
      "name": "click",
      "description": "点击事件",
      "parameters": [
        "event"
      ]
    }
  ],
  "slots": [
    {
      "name": "",
      "description": "",
      "props": []
    }
  ],
  "compatibility": {
    "h5": {
      "supported": true,
      "issues": [],
      "alternatives": []
    },
    "mp-weixin": {
      "supported": true,
      "issues": [
        "不支持 box-shadow 属性",
        "不支持 cursor 属性"
      ],
      "alternatives": []
    },
    "mp-alipay": {
      "supported": true,
      "issues": [
        "不支持 box-shadow 属性",
        "不支持 cursor 属性"
      ],
      "alternatives": []
    },
    "app-plus": {
      "supported": true,
      "issues": [],
      "alternatives": []
    }
  },
  "performance": {
    "complexity": "high",
    "bundle_size": 3780,
    "render_cost": "high",
    "memory_usage": "high"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:35.947Z",
  "updated_at": "2025-07-31T07:55:35.947Z"
}