{
  "id": "Peary74_ugly-parrot-58",
  "name": "ugly-parrot-58",
  "category": "buttons",
  "author": "Peary74",
  "description": "ugly-parrot-58 组件 (red, button, heart, animation, interactive)",
  "tags": [
    "red",
    "button",
    "heart",
    "animation",
    "interactive"
  ],
  "original": {
    "html": "<button>\n  <span class=\"box\">\n    HEART\n  </span>\n  \n   <div class=\"star-1\">\n    <svg height=\"25\" width=\"25\" viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M427.313,88.686c-47.803-47.803-125.213-47.803-173.016,0l-17.087,17.087l-17.087-17.087\n    c-47.803-47.803-125.213-47.803-173.016,0c-47.803,47.803-47.803,125.213,0,173.016l190.103,190.103\n    c4.88,4.88,11.316,7.322,17.752,7.322c6.435,0,13.871-2.442,18.751-7.322l190.103-190.103\n    C475.116,213.899,475.116,136.489,427.313,88.686z\" fill=\"#fd1853\"></path>\n</svg>\n\n\n  </div>\n  <div class=\"star-2\">\n    <svg height=\"20\" width=\"20\" viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M427.313,88.686c-47.803-47.803-125.213-47.803-173.016,0l-17.087,17.087l-17.087-17.087\n    c-47.803-47.803-125.213-47.803-173.016,0c-47.803,47.803-47.803,125.213,0,173.016l190.103,190.103\n    c4.88,4.88,11.316,7.322,17.752,7.322c6.435,0,13.871-2.442,18.751-7.322l190.103-190.103\n    C475.116,213.899,475.116,136.489,427.313,88.686z\" fill=\"#fd1853\"></path>\n</svg>\n\n  </div>\n  <div class=\"star-3\">\n    <svg height=\"9\" width=\"9\" viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M427.313,88.686c-47.803-47.803-125.213-47.803-173.016,0l-17.087,17.087l-17.087-17.087\n    c-47.803-47.803-125.213-47.803-173.016,0c-47.803,47.803-47.803,125.213,0,173.016l190.103,190.103\n    c4.88,4.88,11.316,7.322,17.752,7.322c6.435,0,13.871-2.442,18.751-7.322l190.103-190.103\n    C475.116,213.899,475.116,136.489,427.313,88.686z\" fill=\"#fd1853\"></path>\n</svg>\n\n  </div>\n  <div class=\"star-4\">\n    <svg height=\"10\" width=\"10\" viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M427.313,88.686c-47.803-47.803-125.213-47.803-173.016,0l-17.087,17.087l-17.087-17.087\n    c-47.803-47.803-125.213-47.803-173.016,0c-47.803,47.803-47.803,125.213,0,173.016l190.103,190.103\n    c4.88,4.88,11.316,7.322,17.752,7.322c6.435,0,13.871-2.442,18.751-7.322l190.103-190.103\n    C475.116,213.899,475.116,136.489,427.313,88.686z\" fill=\"#fd1853\"></path>\n</svg>\n\n  </div>\n  <div class=\"star-5\">\n    <svg height=\"20\" width=\"20\" viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M427.313,88.686c-47.803-47.803-125.213-47.803-173.016,0l-17.087,17.087l-17.087-17.087\n    c-47.803-47.803-125.213-47.803-173.016,0c-47.803,47.803-47.803,125.213,0,173.016l190.103,190.103\n    c4.88,4.88,11.316,7.322,17.752,7.322c6.435,0,13.871-2.442,18.751-7.322l190.103-190.103\n    C475.116,213.899,475.116,136.489,427.313,88.686z\" fill=\"#fd1853\"></path>\n</svg>\n\n  </div>\n  <div class=\"star-6\">\n    <svg height=\"7\" width=\"7\" viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M427.313,88.686c-47.803-47.803-125.213-47.803-173.016,0l-17.087,17.087l-17.087-17.087\n    c-47.803-47.803-125.213-47.803-173.016,0c-47.803,47.803-47.803,125.213,0,173.016l190.103,190.103\n    c4.88,4.88,11.316,7.322,17.752,7.322c6.435,0,13.871-2.442,18.751-7.322l190.103-190.103\n    C475.116,213.899,475.116,136.489,427.313,88.686z\" fill=\"#fd1853\"></path>\n</svg>\n\n  </div>\n  \n</button>",
    "css": "/* From Uiverse.io by Peary74 - Tags: red, button, heart */\nbutton {\n  position: relative;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  border-radius: 5px;\n  background: #fd1853;\n  font-family: \"Montserrat\", sans-serif;\n  overflow: hidden;\n  border: none;\n}\n\nbutton:after {\n  content: \" \";\n  width: 0%;\n  height: 100%;\n  background: #fff;\n  position: absolute;\n  transition: all 0.4s ease-in-out;\n  right: 0;\n}\n\nbutton:hover::after {\n  right: auto;\n  left: 0;\n  width: 100%;\n}\n\nbutton span {\n  text-align: center;\n  text-decoration: none;\n  width: 100%;\n  padding: 18px 25px;\n  color: #fffcfd;\n  font-size: 1.125em;\n  font-weight: 700;\n  letter-spacing: 0.3em;\n  z-index: 20;\n  transition: all 0.3s ease-in-out;\n}\n\nbutton:hover span {\n  animation: scaleUp 0.3s ease-in-out;\n  color: #fd1853;\n}\n\nbutton:hover {\n  animation: scaleUp 0.3s ease-in-out;\n}\n\n@keyframes scaleUp {\n  0% {\n    transform: scale(1);\n  }\n\n  50% {\n    transform: scale(0.95);\n  }\n\n  100% {\n    transform: scale(1);\n  }\n}\n\n.star-1 {\n  position: absolute;\n  top: 20%;\n  left: 20%;\n  width: 25px;\n  height: auto;\n  filter: drop-shadow(0 0 0 #fd1853);\n  z-index: -5;\n  transition: all 1s cubic-bezier(0.05, 0.83, 0.43, 0.96);\n}\n\n.star-2 {\n  position: absolute;\n  top: 45%;\n  left: 45%;\n  width: 15px;\n  height: auto;\n  filter: drop-shadow(0 0 0 #fd1853);\n  z-index: -5;\n  transition: all 1s cubic-bezier(0, 0.4, 0, 1.01);\n}\n\n.star-3 {\n  position: absolute;\n  top: 40%;\n  left: 40%;\n  width: 5px;\n  height: auto;\n  filter: drop-shadow(0 0 0 #fd1853);\n  z-index: -5;\n  transition: all 1s cubic-bezier(0, 0.4, 0, 1.01);\n}\n\n.star-4 {\n  position: absolute;\n  top: 20%;\n  left: 40%;\n  width: 8px;\n  height: auto;\n  filter: drop-shadow(0 0 0 #fd1853);\n  z-index: -5;\n  transition: all .8s cubic-bezier(0, 0.4, 0, 1.01);\n}\n\n.star-5 {\n  position: absolute;\n  top: 25%;\n  left: 45%;\n  width: 15px;\n  height: auto;\n  filter: drop-shadow(0 0 0 #fd1853);\n  z-index: -5;\n  transition: all .6s cubic-bezier(0, 0.4, 0, 1.01);\n}\n\n.star-6 {\n  position: absolute;\n  top: 5%;\n  left: 50%;\n  width: 5px;\n  height: auto;\n  filter: drop-shadow(0 0 0 #fd1853);\n  z-index: -5;\n  transition: all .8s ease;\n}\n\nbutton:hover .star-1 {\n  position: absolute;\n  top: -2%;\n  left: 0%;\n  width: 25px;\n  height: auto;\n  filter: drop-shadow(0 0 10px #fd1853);\n  z-index: 2;\n}\n\nbutton:hover .star-2 {\n  position: absolute;\n  top: 34%;\n  left: 41.5%;\n  width: 15px;\n  height: auto;\n  filter: drop-shadow(0 0 10px #fd1853);\n  z-index: 2;\n}\n\nbutton:hover .star-3 {\n  position: absolute;\n  top: 55%;\n  left: 25%;\n  width: 5px;\n  height: auto;\n  filter: drop-shadow(0 0 10px #fd1853);\n  z-index: 2;\n}\n\nbutton:hover .star-4 {\n  position: absolute;\n  top: 0%;\n  left: 55%;\n  width: 8px;\n  height: auto;\n  filter: drop-shadow(0 0 10px #fd1853);\n  z-index: 2;\n}\n\nbutton:hover .star-5 {\n  position: absolute;\n  top: 25%;\n  left: 85%;\n  width: 15px;\n  height: auto;\n  filter: drop-shadow(0 0 10px #fd1853);\n  z-index: 2;\n}\n\nbutton:hover .star-6 {\n  position: absolute;\n  top: 75%;\n  left: 60%;\n  width: 5px;\n  height: auto;\n  filter: drop-shadow(0 0 10px #fd1853);\n  z-index: 2;\n}",
    "file_path": "/mnt/persist/workspace/Buttons/Peary74_ugly-parrot-58.html"
  },
  "uniapp": {
    "template": "<button></button>\n  <text class=\"box\"></text>\n    HEART\n  </span>\n  \n   <view class=\"star-1\"></view>\n    <view height=\"25\" width=\"25\" viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\"></view>\n  <path d=\"M427.313,88.686c-47.803-47.803-125.213-47.803-173.016,0l-17.087,17.087l-17.087-17.087\n    c-47.803-47.803-125.213-47.803-173.016,0c-47.803,47.803-47.803,125.213,0,173.016l190.103,190.103\n    c4.88,4.88,11.316,7.322,17.752,7.322c6.435,0,13.871-2.442,18.751-7.322l190.103-190.103\n    C475.116,213.899,475.116,136.489,427.313,88.686z\" fill=\"#fd1853\"></path>\n</svg>\n\n\n  </div>\n  <view class=\"star-2\"></view>\n    <view height=\"20\" width=\"20\" viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\"></view>\n  <path d=\"M427.313,88.686c-47.803-47.803-125.213-47.803-173.016,0l-17.087,17.087l-17.087-17.087\n    c-47.803-47.803-125.213-47.803-173.016,0c-47.803,47.803-47.803,125.213,0,173.016l190.103,190.103\n    c4.88,4.88,11.316,7.322,17.752,7.322c6.435,0,13.871-2.442,18.751-7.322l190.103-190.103\n    C475.116,213.899,475.116,136.489,427.313,88.686z\" fill=\"#fd1853\"></path>\n</svg>\n\n  </div>\n  <view class=\"star-3\"></view>\n    <view height=\"9\" width=\"9\" viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\"></view>\n  <path d=\"M427.313,88.686c-47.803-47.803-125.213-47.803-173.016,0l-17.087,17.087l-17.087-17.087\n    c-47.803-47.803-125.213-47.803-173.016,0c-47.803,47.803-47.803,125.213,0,173.016l190.103,190.103\n    c4.88,4.88,11.316,7.322,17.752,7.322c6.435,0,13.871-2.442,18.751-7.322l190.103-190.103\n    C475.116,213.899,475.116,136.489,427.313,88.686z\" fill=\"#fd1853\"></path>\n</svg>\n\n  </div>\n  <view class=\"star-4\"></view>\n    <view height=\"10\" width=\"10\" viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\"></view>\n  <path d=\"M427.313,88.686c-47.803-47.803-125.213-47.803-173.016,0l-17.087,17.087l-17.087-17.087\n    c-47.803-47.803-125.213-47.803-173.016,0c-47.803,47.803-47.803,125.213,0,173.016l190.103,190.103\n    c4.88,4.88,11.316,7.322,17.752,7.322c6.435,0,13.871-2.442,18.751-7.322l190.103-190.103\n    C475.116,213.899,475.116,136.489,427.313,88.686z\" fill=\"#fd1853\"></path>\n</svg>\n\n  </div>\n  <view class=\"star-5\"></view>\n    <view height=\"20\" width=\"20\" viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\"></view>\n  <path d=\"M427.313,88.686c-47.803-47.803-125.213-47.803-173.016,0l-17.087,17.087l-17.087-17.087\n    c-47.803-47.803-125.213-47.803-173.016,0c-47.803,47.803-47.803,125.213,0,173.016l190.103,190.103\n    c4.88,4.88,11.316,7.322,17.752,7.322c6.435,0,13.871-2.442,18.751-7.322l190.103-190.103\n    C475.116,213.899,475.116,136.489,427.313,88.686z\" fill=\"#fd1853\"></path>\n</svg>\n\n  </div>\n  <view class=\"star-6\"></view>\n    <view height=\"7\" width=\"7\" viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\"></view>\n  <path d=\"M427.313,88.686c-47.803-47.803-125.213-47.803-173.016,0l-17.087,17.087l-17.087-17.087\n    c-47.803-47.803-125.213-47.803-173.016,0c-47.803,47.803-47.803,125.213,0,173.016l190.103,190.103\n    c4.88,4.88,11.316,7.322,17.752,7.322c6.435,0,13.871-2.442,18.751-7.322l190.103-190.103\n    C475.116,213.899,475.116,136.489,427.313,88.686z\" fill=\"#fd1853\"></path>\n</svg>\n\n  </div>\n  \n</button>",
    "script": "export default {\n  name: 'GalaxyUglyParrot58',\n  props: {\n    // 根据组件类型动态生成props\n  },\n  data() {\n    return {\n      // 组件状态\n    };\n  },\n  methods: {\n    // 组件方法\n  }\n}",
    "style": "\n/* From Uiverse.io by Peary74 - Tags: red, button, heart */\nbutton {\n  position: relative;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  border-radius: 10rpx;\n  background: #fd1853;\n  font-family: \"Montserrat\", sans-serif;\n  overflow: hidden;\n  border: none;\n}\n\nbutton:after {\n  content: \" \";\n  width: 0%;\n  height: 100%;\n  background: #fff;\n  position: absolute;\n  transition: all 0.4s ease-in-out;\n  right: 0;\n}\n\nbutton:hover::after {\n  right: auto;\n  left: 0;\n  width: 100%;\n}\n\nbutton span {\n  text-align: center;\n  text-decoration: none;\n  width: 100%;\n  padding: 36rpx 50rpx;\n  color: #fffcfd;\n  font-size: 1.125em;\n  font-weight: 700;\n  letter-spacing: 0.3em;\n  z-index: 20;\n  transition: all 0.3s ease-in-out;\n}\n\nbutton:hover span {\n  animation: scaleUp 0.3s ease-in-out;\n  color: #fd1853;\n}\n\nbutton:hover {\n  animation: scaleUp 0.3s ease-in-out;\n}\n\n@keyframes scaleUp {\n  0% {\n    transform: scale(1);\n  }\n\n  50% {\n    transform: scale(0.95);\n  }\n\n  100% {\n    transform: scale(1);\n  }\n}\n\n.star-1 {\n  position: absolute;\n  top: 20%;\n  left: 20%;\n  width: 50rpx;\n  height: auto;\n  \n  z-index: -5;\n  transition: all 1s cubic-bezier(0.05, 0.83, 0.43, 0.96);\n}\n\n.star-2 {\n  position: absolute;\n  top: 45%;\n  left: 45%;\n  width: 30rpx;\n  height: auto;\n  \n  z-index: -5;\n  transition: all 1s cubic-bezier(0, 0.4, 0, 1.01);\n}\n\n.star-3 {\n  position: absolute;\n  top: 40%;\n  left: 40%;\n  width: 10rpx;\n  height: auto;\n  \n  z-index: -5;\n  transition: all 1s cubic-bezier(0, 0.4, 0, 1.01);\n}\n\n.star-4 {\n  position: absolute;\n  top: 20%;\n  left: 40%;\n  width: 16rpx;\n  height: auto;\n  \n  z-index: -5;\n  transition: all .8s cubic-bezier(0, 0.4, 0, 1.01);\n}\n\n.star-5 {\n  position: absolute;\n  top: 25%;\n  left: 45%;\n  width: 30rpx;\n  height: auto;\n  \n  z-index: -5;\n  transition: all .6s cubic-bezier(0, 0.4, 0, 1.01);\n}\n\n.star-6 {\n  position: absolute;\n  top: 5%;\n  left: 50%;\n  width: 10rpx;\n  height: auto;\n  \n  z-index: -5;\n  transition: all .8s ease;\n}\n\nbutton:hover .star-1 {\n  position: absolute;\n  top: -2%;\n  left: 0%;\n  width: 50rpx;\n  height: auto;\n  \n  z-index: 2;\n}\n\nbutton:hover .star-2 {\n  position: absolute;\n  top: 34%;\n  left: 41.5%;\n  width: 30rpx;\n  height: auto;\n  \n  z-index: 2;\n}\n\nbutton:hover .star-3 {\n  position: absolute;\n  top: 55%;\n  left: 25%;\n  width: 10rpx;\n  height: auto;\n  \n  z-index: 2;\n}\n\nbutton:hover .star-4 {\n  position: absolute;\n  top: 0%;\n  left: 55%;\n  width: 16rpx;\n  height: auto;\n  \n  z-index: 2;\n}\n\nbutton:hover .star-5 {\n  position: absolute;\n  top: 25%;\n  left: 85%;\n  width: 30rpx;\n  height: auto;\n  \n  z-index: 2;\n}\n\nbutton:hover .star-6 {\n  position: absolute;\n  top: 75%;\n  left: 60%;\n  width: 10rpx;\n  height: auto;\n  \n  z-index: 2;\n}\n\n\n",
    "component_name": "GalaxyUglyParrot58"
  },
  "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": [
        "不支持 filter 属性"
      ],
      "alternatives": []
    },
    "mp-alipay": {
      "supported": true,
      "issues": [
        "不支持 filter 属性"
      ],
      "alternatives": []
    },
    "app-plus": {
      "supported": true,
      "issues": [],
      "alternatives": []
    }
  },
  "performance": {
    "complexity": "high",
    "bundle_size": 6173,
    "render_cost": "high",
    "memory_usage": "high"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:34.213Z",
  "updated_at": "2025-07-31T07:55:34.213Z"
}