{
  "id": "satyamchaudharydev_hungry-parrot-44",
  "name": "hungry-parrot-44",
  "category": "buttons",
  "author": "satyamchaudharydev",
  "description": "hungry-parrot-44 组件 (button, animation, interactive)",
  "tags": [
    "button",
    "animation",
    "interactive"
  ],
  "original": {
    "html": "<button>\n    <div class=\"text\">\n        <span>Back</span>\n        <span>to</span>\n        <span>top</span>\n    </div>\n    <div class=\"clone\">\n        <span>Back</span>\n        <span>to</span>\n        <span>top</span>\n    </div>\n    <svg width=\"20px\" xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M14 5l7 7m0 0l-7 7m7-7H3\"></path>\n    </svg>\n</button>",
    "css": "/* From Uiverse.io by satyamchaudharydev - Tags: button */\nbutton {\n  width: 140px;\n  height: 56px;\n  overflow: hidden;\n  border: none;\n  color: #fff;\n  background: none;\n  position: relative;\n  padding-bottom: 2em;\n}\n\nbutton > div,button > svg {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  display: flex;\n}\n\nbutton:before {\n  content: \"\";\n  position: absolute;\n  height: 2px;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  transform: scaleX(0);\n  transform-origin: bottom right;\n  background: currentColor;\n  transition: transform 0.25s ease-out;\n}\n\nbutton:hover:before {\n  transform: scaleX(1);\n  transform-origin: bottom left;\n}\n\nbutton .clone > *,button .text > * {\n  opacity: 1;\n  font-size: 1.3rem;\n  transition: 0.2s;\n  margin-left: 4px;\n}\n\nbutton .clone > * {\n  transform: translateY(60px);\n}\n\nbutton:hover .clone > * {\n  opacity: 1;\n  transform: translateY(0px);\n  transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;\n}\n\nbutton:hover .text > * {\n  opacity: 1;\n  transform: translateY(-60px);\n  transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;\n}\n\nbutton:hover .clone > :nth-child(1) {\n  transition-delay: 0.15s;\n}\n\nbutton:hover .clone > :nth-child(2) {\n  transition-delay: 0.2s;\n}\n\nbutton:hover .clone > :nth-child(3) {\n  transition-delay: 0.25s;\n}\n\nbutton:hover .clone > :nth-child(4) {\n  transition-delay: 0.3s;\n}\n/* icon style and hover */\nbutton svg {\n  width: 20px;\n  right: 0;\n  top: 50%;\n  transform: translateY(-50%) rotate(-50deg);\n  transition: 0.2s ease-out;\n}\n\nbutton:hover svg {\n  transform: translateY(-50%) rotate(-90deg);\n}",
    "file_path": "/mnt/persist/workspace/Buttons/satyamchaudharydev_hungry-parrot-44.html"
  },
  "uniapp": {
    "template": "<button></button>\n    <view class=\"text\"></view>\n        <text>Back</text>\n        <text>to</text>\n        <text>top</text>\n    </div>\n    <view class=\"clone\"></view>\n        <text>Back</text>\n        <text>to</text>\n        <text>top</text>\n    </div>\n    <view width=\"20px\" xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"></view>\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M14 5l7 7m0 0l-7 7m7-7H3\"></path>\n    </svg>\n</button>",
    "script": "export default {\n  name: 'GalaxyHungryParrot44',\n  props: {\n    // 根据组件类型动态生成props\n  },\n  data() {\n    return {\n      // 组件状态\n    };\n  },\n  methods: {\n    // 组件方法\n  }\n}",
    "style": "\n/* From Uiverse.io by satyamchaudharydev - Tags: button */\nbutton {\n  width: 280rpx;\n  height: 112rpx;\n  overflow: hidden;\n  border: none;\n  color: #fff;\n  background: none;\n  position: relative;\n  padding-bottom: 2em;\n}\n\nbutton > div,button > svg {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  display: flex;\n}\n\nbutton:before {\n  content: \"\";\n  position: absolute;\n  height: 4rpx;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  transform: scaleX(0);\n  transform-origin: bottom right;\n  background: currentColor;\n  transition: transform 0.25s ease-out;\n}\n\nbutton:hover:before {\n  transform: scaleX(1);\n  transform-origin: bottom left;\n}\n\nbutton .clone > *,button .text > * {\n  opacity: 1;\n  font-size: 1.3rem;\n  transition: 0.2s;\n  margin-left: 8rpx;\n}\n\nbutton .clone > * {\n  transform: translateY(120rpx);\n}\n\nbutton:hover .clone > * {\n  opacity: 1;\n  transform: translateY(0rpx);\n  transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;\n}\n\nbutton:hover .text > * {\n  opacity: 1;\n  transform: translateY(-120rpx);\n  transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;\n}\n\nbutton:hover .clone > :nth-child(1) {\n  transition-delay: 0.15s;\n}\n\nbutton:hover .clone > :nth-child(2) {\n  transition-delay: 0.2s;\n}\n\nbutton:hover .clone > :nth-child(3) {\n  transition-delay: 0.25s;\n}\n\nbutton:hover .clone > :nth-child(4) {\n  transition-delay: 0.3s;\n}\n/* icon style and hover */\nbutton svg {\n  width: 40rpx;\n  right: 0;\n  top: 50%;\n  transform: translateY(-50%) rotate(-50deg);\n  transition: 0.2s ease-out;\n}\n\nbutton:hover svg {\n  transform: translateY(-50%) rotate(-90deg);\n}\n",
    "component_name": "GalaxyHungryParrot44"
  },
  "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": [],
      "alternatives": []
    },
    "mp-alipay": {
      "supported": true,
      "issues": [],
      "alternatives": []
    },
    "app-plus": {
      "supported": true,
      "issues": [],
      "alternatives": []
    }
  },
  "performance": {
    "complexity": "medium",
    "bundle_size": 2067,
    "render_cost": "medium",
    "memory_usage": "medium"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:37.765Z",
  "updated_at": "2025-07-31T07:55:37.765Z"
}