{
  "id": "Lucaasbre_quiet-bat-17",
  "name": "quiet-bat-17",
  "category": "buttons",
  "author": "Lucaasbre",
  "description": "quiet-bat-17 组件 (button, active, delete, animated, css, animation, interactive)",
  "tags": [
    "button",
    "active",
    "delete",
    "animated",
    "css",
    "animation",
    "interactive"
  ],
  "original": {
    "html": "<button>\n  <span class=\"button-text\">\n  </span>\n  <span class=\"animation\">\n    <span class=\"paper-wrapper\">\n      <span class=\"paper\">\n      </span>\n    </span>\n    <span class=\"shredded-wrapper\">\n      <span class=\"shredded\">\n      </span>\n    </span>\n    <span class=\"lid\">\n    </span>\n    <span class=\"can\">\n      <span class=\"filler\">\n      </span>\n    </span>\n  </span>\n</button>",
    "css": "/* From Uiverse.io by Lucaasbre - Source: Frontend Joe - https://frontendjoe.com - Tags: button, active, delete, animated, css */\nbutton {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 10px;\n  border: 0;\n  background: #ff2c6c;\n  font-size: 22px;\n  font-weight: 400;\n  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n  color: #f9f9f9;\n  padding: 0 0 0 24px;\n  width: 210px;\n  height: 64px;\n  text-align: left;\n  cursor: pointer;\n  transition: 0.3s;\n}\n\n.button-text {\n  flex: 0 0 120px;\n}\n\n.button-text::before {\n  content: \"Delete\";\n}\n\n.animation {\n  position: relative;\n  overflow: hidden;\n  display: grid;\n  place-items: center;\n  width: 64px;\n  height: 64px;\n  scale: 1;\n}\n\n.can {\n  overflow: hidden;\n  position: relative;\n  translate: 0 3px;\n  width: 20px;\n  height: 22px;\n  border-left-radius: 5px;\n  border-right-radius: 5px;\n  border: 2px solid #ffffff;\n}\n\n.lid {\n  position: absolute;\n  top: 20px;\n  left: 50%;\n  translate: -50% 0;\n  width: 22px;\n  height: 2px;\n  background: #ffffff;\n}\n\n@keyframes move {\n  75%,\n  100% {\n    translate: 0 88px;\n  }\n}\n\n.paper-wrapper,\n.shredded-wrapper {\n  overflow: hidden;\n  position: absolute;\n  display: flex;\n  top: -20px;\n  left: 50%;\n  margin-left: -5px;\n  width: 10px;\n  height: 64px;\n}\n\n.paper-wrapper {\n  height: 40px;\n}\n\n.shredded-wrapper {\n  top: 24px;\n  height: 20px;\n  justify-content: center;\n}\n\n.paper, .shredded {\n  display: block;\n  background: #ffffff;\n  height: 20px;\n}\n\n.paper {\n  width: 10px;\n}\n\n.shredded {\n  margin-top: -40px;\n  width: 2px;\n}\n\n.shredded::before,\n.shredded::after {\n  content: \"\";\n  position: absolute;\n  z-index: 1;\n  top: 0;\n  width: inherit;\n  height: inherit;\n  background: inherit;\n}\n\n.shredded::before {\n  left: -4px;\n}\n\n.shredded::after {\n  right: -4px;\n}\n\n@keyframes fill {\n  0%, 20% {\n    translate: 0 0;\n  }\n\n  40%, 70% {\n    translate: 0 -50%;\n  }\n\n  90%, 100% {\n    translate: 0 -100%;\n  }\n}\n\n.filler {\n  position: absolute;\n  top: 100%;\n  left: 50%;\n  margin-left: -32px;\n  width: 64px;\n  height: 120%;\n  background: #ffffff;\n}\n\nbutton:hover {\n  opacity: 0.75;\n}\n\nbutton:active .button-text::before {\n  content: \"Deleting...\";\n}\n\nbutton:active :is(.paper, .shredded) {\n  animation: move 1.25s linear 2 both;\n}\n\nbutton:active .filler {\n  animation: fill 2.5s both;\n}",
    "file_path": "/mnt/persist/workspace/Buttons/Lucaasbre_quiet-bat-17.html"
  },
  "uniapp": {
    "template": "<button></button>\n  <text class=\"button-text\"></text>\n  </span>\n  <text class=\"animation\"></text>\n    <text class=\"paper-wrapper\"></text>\n      <text class=\"paper\"></text>\n      </span>\n    </span>\n    <text class=\"shredded-wrapper\"></text>\n      <text class=\"shredded\"></text>\n      </span>\n    </span>\n    <text class=\"lid\"></text>\n    </span>\n    <text class=\"can\"></text>\n      <text class=\"filler\"></text>\n      </span>\n    </span>\n  </span>\n</button>",
    "script": "export default {\n  name: 'GalaxyQuietBat17',\n  props: {\n    // 根据组件类型动态生成props\n  },\n  data() {\n    return {\n      // 组件状态\n    };\n  },\n  methods: {\n    // 组件方法\n  }\n}",
    "style": "\n/* From Uiverse.io by Lucaasbre - Source: Frontend Joe - https://frontendjoe.com - Tags: button, active, delete, animated, css */\nbutton {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 20rpx;\n  border: 0;\n  background: #ff2c6c;\n  font-size: 44rpx;\n  font-weight: 400;\n  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n  color: #f9f9f9;\n  padding: 0 0 0 48rpx;\n  width: 420rpx;\n  height: 128rpx;\n  text-align: left;\n  /* #ifdef H5 */\n  cursor: pointer;\n  /* #endif */\n  transition: 0.3s;\n}\n\n.button-text {\n  flex: 0 0 240rpx;\n}\n\n.button-text::before {\n  content: \"Delete\";\n}\n\n.animation {\n  position: relative;\n  overflow: hidden;\n  display: grid;\n  place-items: center;\n  width: 128rpx;\n  height: 128rpx;\n  scale: 1;\n}\n\n.can {\n  overflow: hidden;\n  position: relative;\n  translate: 0 6rpx;\n  width: 40rpx;\n  height: 44rpx;\n  border-left-radius: 10rpx;\n  border-right-radius: 10rpx;\n  border: 4rpx solid #ffffff;\n}\n\n.lid {\n  position: absolute;\n  top: 40rpx;\n  left: 50%;\n  translate: -50% 0;\n  width: 44rpx;\n  height: 4rpx;\n  background: #ffffff;\n}\n\n@keyframes move {\n  75%,\n  100% {\n    translate: 0 176rpx;\n  }\n}\n\n.paper-wrapper,\n.shredded-wrapper {\n  overflow: hidden;\n  position: absolute;\n  display: flex;\n  top: -40rpx;\n  left: 50%;\n  margin-left: -10rpx;\n  width: 20rpx;\n  height: 128rpx;\n}\n\n.paper-wrapper {\n  height: 80rpx;\n}\n\n.shredded-wrapper {\n  top: 48rpx;\n  height: 40rpx;\n  justify-content: center;\n}\n\n.paper, .shredded {\n  display: block;\n  background: #ffffff;\n  height: 40rpx;\n}\n\n.paper {\n  width: 20rpx;\n}\n\n.shredded {\n  margin-top: -80rpx;\n  width: 4rpx;\n}\n\n.shredded::before,\n.shredded::after {\n  content: \"\";\n  position: absolute;\n  z-index: 1;\n  top: 0;\n  width: inherit;\n  height: inherit;\n  background: inherit;\n}\n\n.shredded::before {\n  left: -8rpx;\n}\n\n.shredded::after {\n  right: -8rpx;\n}\n\n@keyframes fill {\n  0%, 20% {\n    translate: 0 0;\n  }\n\n  40%, 70% {\n    translate: 0 -50%;\n  }\n\n  90%, 100% {\n    translate: 0 -100%;\n  }\n}\n\n.filler {\n  position: absolute;\n  top: 100%;\n  left: 50%;\n  margin-left: -64rpx;\n  width: 128rpx;\n  height: 120%;\n  background: #ffffff;\n}\n\nbutton:hover {\n  opacity: 0.75;\n}\n\nbutton:active .button-text::before {\n  content: \"Deleting...\";\n}\n\nbutton:active :is(.paper, .shredded) {\n  animation: move 1.25s linear 2 both;\n}\n\nbutton:active .filler {\n  animation: fill 2.5s both;\n}\n",
    "component_name": "GalaxyQuietBat17"
  },
  "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": [
        "不支持 cursor 属性"
      ],
      "alternatives": []
    },
    "mp-alipay": {
      "supported": true,
      "issues": [
        "不支持 cursor 属性"
      ],
      "alternatives": []
    },
    "app-plus": {
      "supported": true,
      "issues": [],
      "alternatives": []
    }
  },
  "performance": {
    "complexity": "high",
    "bundle_size": 2698,
    "render_cost": "high",
    "memory_usage": "high"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:33.860Z",
  "updated_at": "2025-07-31T07:55:33.860Z"
}