{
  "id": "Creatlydev_pretty-grasshopper-57",
  "name": "pretty-grasshopper-57",
  "category": "buttons",
  "author": "Creatlydev",
  "description": "pretty-grasshopper-57 组件 (button, hover effect, hover button, animation, interactive)",
  "tags": [
    "button",
    "hover effect",
    "hover button",
    "animation",
    "interactive"
  ],
  "original": {
    "html": "<button class=\"button\" style=\"--clr: #00ad54;\">\n    <span class=\"button-decor\"></span>\n    <div class=\"button-content\">\n        <div class=\"button__icon\">\n            <svg viewBox=\"0 0 50 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\">\n                <circle opacity=\"0.5\" cx=\"25\" cy=\"25\" r=\"23\" fill=\"url(#icon-payments-cat_svg__paint0_linear_1141_21101)\"></circle>\n                <mask id=\"icon-payments-cat_svg__a\" fill=\"#fff\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M34.42 15.93c.382-1.145-.706-2.234-1.851-1.852l-18.568 6.189c-1.186.395-1.362 2-.29 2.644l5.12 3.072a1.464 1.464 0 001.733-.167l5.394-4.854a1.464 1.464 0 011.958 2.177l-5.154 4.638a1.464 1.464 0 00-.276 1.841l3.101 5.17c.644 1.072 2.25.896 2.645-.29L34.42 15.93z\">\n                    </path>\n                </mask>\n                <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M34.42 15.93c.382-1.145-.706-2.234-1.851-1.852l-18.568 6.189c-1.186.395-1.362 2-.29 2.644l5.12 3.072a1.464 1.464 0 001.733-.167l5.394-4.854a1.464 1.464 0 011.958 2.177l-5.154 4.638a1.464 1.464 0 00-.276 1.841l3.101 5.17c.644 1.072 2.25.896 2.645-.29L34.42 15.93z\" fill=\"#fff\"></path>\n                <path d=\"M25.958 20.962l-1.47-1.632 1.47 1.632zm2.067.109l-1.632 1.469 1.632-1.469zm-.109 2.068l-1.469-1.633 1.47 1.633zm-5.154 4.638l-1.469-1.632 1.469 1.632zm-.276 1.841l-1.883 1.13 1.883-1.13zM34.42 15.93l-2.084-.695 2.084.695zm-19.725 6.42l18.568-6.189-1.39-4.167-18.567 6.19 1.389 4.166zm5.265 1.75l-5.12-3.072-2.26 3.766 5.12 3.072 2.26-3.766zm2.072 3.348l5.394-4.854-2.938-3.264-5.394 4.854 2.938 3.264zm5.394-4.854a.732.732 0 01-1.034-.054l3.265-2.938a3.66 3.66 0 00-5.17-.272l2.939 3.265zm-1.034-.054a.732.732 0 01.054-1.034l2.938 3.265a3.66 3.66 0 00.273-5.169l-3.265 2.938zm.054-1.034l-5.154 4.639 2.938 3.264 5.154-4.638-2.938-3.265zm1.023 12.152l-3.101-5.17-3.766 2.26 3.101 5.17 3.766-2.26zm4.867-18.423l-6.189 18.568 4.167 1.389 6.19-18.568-4.168-1.389zm-8.633 20.682c1.61 2.682 5.622 2.241 6.611-.725l-4.167-1.39a.732.732 0 011.322-.144l-3.766 2.26zm-6.003-8.05a3.66 3.66 0 004.332-.419l-2.938-3.264a.732.732 0 01.866-.084l-2.26 3.766zm3.592-1.722a3.66 3.66 0 00-.69 4.603l3.766-2.26c.18.301.122.687-.138.921l-2.938-3.264zm11.97-9.984a.732.732 0 01-.925-.926l4.166 1.389c.954-2.861-1.768-5.583-4.63-4.63l1.39 4.167zm-19.956 2.022c-2.967.99-3.407 5.003-.726 6.611l2.26-3.766a.732.732 0 01-.145 1.322l-1.39-4.167z\" fill=\"#fff\" mask=\"url(#icon-payments-cat_svg__a)\"></path>\n                <defs>\n                    <linearGradient id=\"icon-payments-cat_svg__paint0_linear_1141_21101\" x1=\"25\" y1=\"2\" x2=\"25\" y2=\"48\" gradientUnits=\"userSpaceOnUse\">\n                        <stop stop-color=\"#fff\" stop-opacity=\"0.71\"></stop>\n                        <stop offset=\"1\" stop-color=\"#fff\" stop-opacity=\"0\"></stop>\n                    </linearGradient>\n                </defs>\n            </svg>\n        </div>\n        <span class=\"button__text\">Payments</span>\n    </div>\n</button>",
    "css": "/* From Uiverse.io by Creatlydev - Tags: button, hover effect, hover button */\n.button {\n  text-decoration: none;\n  line-height: 1;\n  border-radius: 1.5rem;\n  overflow: hidden;\n  position: relative;\n  box-shadow: 10px 10px 20px rgba(0,0,0,.05);\n  background-color: #fff;\n  color: #121212;\n  border: none;\n  cursor: pointer;\n}\n\n.button-decor {\n  position: absolute;\n  inset: 0;\n  background-color: var(--clr);\n  transform: translateX(-100%);\n  transition: transform .3s;\n  z-index: 0;\n}\n\n.button-content {\n  display: flex;\n  align-items: center;\n  font-weight: 600;\n  position: relative;\n  overflow: hidden;\n}\n\n.button__icon {\n  width: 48px;\n  height: 40px;\n  background-color: var(--clr);\n  display: grid;\n  place-items: center;\n}\n\n.button__text {\n  display: inline-block;\n  transition: color .2s;\n  padding: 2px 1.5rem 2px;\n  padding-left: .75rem;\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  max-width: 150px;\n}\n\n.button:hover .button__text {\n  color: #fff;\n}\n\n.button:hover .button-decor {\n  transform: translate(0);\n}",
    "file_path": "/mnt/persist/workspace/Buttons/Creatlydev_pretty-grasshopper-57.html"
  },
  "uniapp": {
    "template": "<button class=\"button\" style=\"--clr: #00ad54;\"></button>\n    <text class=\"button-decor\"></text>\n    <view class=\"button-content\"></view>\n        <view class=\"button__icon\"></view>\n            <view viewBox=\"0 0 50 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\"></view>\n                <circle opacity=\"0.5\" cx=\"25\" cy=\"25\" r=\"23\" fill=\"url(#icon-payments-cat_svg__paint0_linear_1141_21101)\"></circle>\n                <mask id=\"icon-payments-cat_svg__a\" fill=\"#fff\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M34.42 15.93c.382-1.145-.706-2.234-1.851-1.852l-18.568 6.189c-1.186.395-1.362 2-.29 2.644l5.12 3.072a1.464 1.464 0 001.733-.167l5.394-4.854a1.464 1.464 0 011.958 2.177l-5.154 4.638a1.464 1.464 0 00-.276 1.841l3.101 5.17c.644 1.072 2.25.896 2.645-.29L34.42 15.93z\">\n                    </path>\n                </mask>\n                <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M34.42 15.93c.382-1.145-.706-2.234-1.851-1.852l-18.568 6.189c-1.186.395-1.362 2-.29 2.644l5.12 3.072a1.464 1.464 0 001.733-.167l5.394-4.854a1.464 1.464 0 011.958 2.177l-5.154 4.638a1.464 1.464 0 00-.276 1.841l3.101 5.17c.644 1.072 2.25.896 2.645-.29L34.42 15.93z\" fill=\"#fff\"></path>\n                <path d=\"M25.958 20.962l-1.47-1.632 1.47 1.632zm2.067.109l-1.632 1.469 1.632-1.469zm-.109 2.068l-1.469-1.633 1.47 1.633zm-5.154 4.638l-1.469-1.632 1.469 1.632zm-.276 1.841l-1.883 1.13 1.883-1.13zM34.42 15.93l-2.084-.695 2.084.695zm-19.725 6.42l18.568-6.189-1.39-4.167-18.567 6.19 1.389 4.166zm5.265 1.75l-5.12-3.072-2.26 3.766 5.12 3.072 2.26-3.766zm2.072 3.348l5.394-4.854-2.938-3.264-5.394 4.854 2.938 3.264zm5.394-4.854a.732.732 0 01-1.034-.054l3.265-2.938a3.66 3.66 0 00-5.17-.272l2.939 3.265zm-1.034-.054a.732.732 0 01.054-1.034l2.938 3.265a3.66 3.66 0 00.273-5.169l-3.265 2.938zm.054-1.034l-5.154 4.639 2.938 3.264 5.154-4.638-2.938-3.265zm1.023 12.152l-3.101-5.17-3.766 2.26 3.101 5.17 3.766-2.26zm4.867-18.423l-6.189 18.568 4.167 1.389 6.19-18.568-4.168-1.389zm-8.633 20.682c1.61 2.682 5.622 2.241 6.611-.725l-4.167-1.39a.732.732 0 011.322-.144l-3.766 2.26zm-6.003-8.05a3.66 3.66 0 004.332-.419l-2.938-3.264a.732.732 0 01.866-.084l-2.26 3.766zm3.592-1.722a3.66 3.66 0 00-.69 4.603l3.766-2.26c.18.301.122.687-.138.921l-2.938-3.264zm11.97-9.984a.732.732 0 01-.925-.926l4.166 1.389c.954-2.861-1.768-5.583-4.63-4.63l1.39 4.167zm-19.956 2.022c-2.967.99-3.407 5.003-.726 6.611l2.26-3.766a.732.732 0 01-.145 1.322l-1.39-4.167z\" fill=\"#fff\" mask=\"url(#icon-payments-cat_svg__a)\"></path>\n                <defs>\n                    <linearGradient id=\"icon-payments-cat_svg__paint0_linear_1141_21101\" x1=\"25\" y1=\"2\" x2=\"25\" y2=\"48\" gradientUnits=\"userSpaceOnUse\">\n                        <stop stop-color=\"#fff\" stop-opacity=\"0.71\"></stop>\n                        <stop offset=\"1\" stop-color=\"#fff\" stop-opacity=\"0\"></stop>\n                    </linearGradient>\n                </defs>\n            </svg>\n        </div>\n        <text class=\"button__text\">Payments</text>\n    </div>\n</button>",
    "script": "export default {\n  name: 'GalaxyPrettyGrasshopper57',\n  props: {\n    // 根据组件类型动态生成props\n  },\n  data() {\n    return {\n      // 组件状态\n    };\n  },\n  methods: {\n    // 组件方法\n  }\n}",
    "style": "\n/* From Uiverse.io by Creatlydev - Tags: button, hover effect, hover button */\n.button {\n  text-decoration: none;\n  line-height: 1;\n  border-radius: 1.5rem;\n  overflow: hidden;\n  position: relative;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 20rpx 20rpx 40rpx rgba(0,0,0,.05);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  background-color: #fff;\n  color: #121212;\n  border: none;\n  /* #ifdef H5 */\n  cursor: pointer;\n  /* #endif */\n}\n\n.button-decor {\n  position: absolute;\n  inset: 0;\n  background-color: var(--clr);\n  transform: translateX(-100%);\n  transition: transform .3s;\n  z-index: 0;\n}\n\n.button-content {\n  display: flex;\n  align-items: center;\n  font-weight: 600;\n  position: relative;\n  overflow: hidden;\n}\n\n.button__icon {\n  width: 96rpx;\n  height: 80rpx;\n  background-color: var(--clr);\n  display: grid;\n  place-items: center;\n}\n\n.button__text {\n  display: inline-block;\n  transition: color .2s;\n  padding: 4rpx 1.5rem 4rpx;\n  padding-left: .75rem;\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  max-width: 300rpx;\n}\n\n.button:hover .button__text {\n  color: #fff;\n}\n\n.button:hover .button-decor {\n  transform: translate(0);\n}\n",
    "component_name": "GalaxyPrettyGrasshopper57"
  },
  "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": "medium",
    "bundle_size": 4040,
    "render_cost": "medium",
    "memory_usage": "medium"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:33.005Z",
  "updated_at": "2025-07-31T07:55:33.005Z"
}