{
  "id": "mrhyddenn_modern-puma-17",
  "name": "modern-puma-17",
  "category": "buttons",
  "author": "mrhyddenn",
  "description": "modern-puma-17 组件 (button, animation, interactive)",
  "tags": [
    "button",
    "animation",
    "interactive"
  ],
  "original": {
    "html": "<button>\n    <span>Hover me</span>\n</button>",
    "css": "/* From Uiverse.io by mrhyddenn - Tags: button */\nbutton {\n  position: relative;\n  margin: 0;\n  padding: 0.8em 1em;\n  outline: none;\n  text-decoration: none;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  cursor: pointer;\n  border: none;\n  text-transform: uppercase;\n  background-color: #333;\n  border-radius: 10px;\n  color: #fff;\n  font-weight: 300;\n  font-size: 18px;\n  font-family: inherit;\n  z-index: 0;\n  overflow: hidden;\n  transition: all 0.3s cubic-bezier(0.02, 0.01, 0.47, 1);\n}\n\nbutton:hover {\n  animation: sh0 0.5s ease-in-out both;\n}\n\n@keyframes sh0 {\n  0% {\n    transform: rotate(0deg) translate3d(0, 0, 0);\n  }\n\n  25% {\n    transform: rotate(7deg) translate3d(0, 0, 0);\n  }\n\n  50% {\n    transform: rotate(-7deg) translate3d(0, 0, 0);\n  }\n\n  75% {\n    transform: rotate(1deg) translate3d(0, 0, 0);\n  }\n\n  100% {\n    transform: rotate(0deg) translate3d(0, 0, 0);\n  }\n}\n\nbutton:hover span {\n  animation: storm 0.7s ease-in-out both;\n  animation-delay: 0.06s;\n}\n\nbutton::before,\nbutton::after {\n  content: '';\n  position: absolute;\n  right: 0;\n  bottom: 0;\n  width: 100px;\n  height: 100px;\n  border-radius: 50%;\n  background: #fff;\n  opacity: 0;\n  transition: transform 0.15s cubic-bezier(0.02, 0.01, 0.47, 1), opacity 0.15s cubic-bezier(0.02, 0.01, 0.47, 1);\n  z-index: -1;\n  transform: translate(100%, -25%) translate3d(0, 0, 0);\n}\n\nbutton:hover::before,\nbutton:hover::after {\n  opacity: 0.15;\n  transition: transform 0.2s cubic-bezier(0.02, 0.01, 0.47, 1), opacity 0.2s cubic-bezier(0.02, 0.01, 0.47, 1);\n}\n\nbutton:hover::before {\n  transform: translate3d(50%, 0, 0) scale(0.9);\n}\n\nbutton:hover::after {\n  transform: translate(50%, 0) scale(1.1);\n}",
    "file_path": "/mnt/persist/workspace/Buttons/mrhyddenn_modern-puma-17.html"
  },
  "uniapp": {
    "template": "<button></button>\n    <text>Hover me</text>\n</button>",
    "script": "export default {\n  name: 'GalaxyModernPuma17',\n  props: {\n    // 根据组件类型动态生成props\n  },\n  data() {\n    return {\n      // 组件状态\n    };\n  },\n  methods: {\n    // 组件方法\n  }\n}",
    "style": "\n/* From Uiverse.io by mrhyddenn - Tags: button */\nbutton {\n  position: relative;\n  margin: 0;\n  padding: 0.8em 1em;\n  outline: none;\n  text-decoration: none;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  /* #ifdef H5 */\n  cursor: pointer;\n  /* #endif */\n  border: none;\n  text-transform: uppercase;\n  background-color: #333;\n  border-radius: 20rpx;\n  color: #fff;\n  font-weight: 300;\n  font-size: 36rpx;\n  font-family: inherit;\n  z-index: 0;\n  overflow: hidden;\n  transition: all 0.3s cubic-bezier(0.02, 0.01, 0.47, 1);\n}\n\nbutton:hover {\n  animation: sh0 0.5s ease-in-out both;\n}\n\n@keyframes sh0 {\n  0% {\n    transform: rotate(0deg) translate3d(0, 0, 0);\n  }\n\n  25% {\n    transform: rotate(7deg) translate3d(0, 0, 0);\n  }\n\n  50% {\n    transform: rotate(-7deg) translate3d(0, 0, 0);\n  }\n\n  75% {\n    transform: rotate(1deg) translate3d(0, 0, 0);\n  }\n\n  100% {\n    transform: rotate(0deg) translate3d(0, 0, 0);\n  }\n}\n\nbutton:hover span {\n  animation: storm 0.7s ease-in-out both;\n  animation-delay: 0.06s;\n}\n\nbutton::before,\nbutton::after {\n  content: '';\n  position: absolute;\n  right: 0;\n  bottom: 0;\n  width: 200rpx;\n  height: 200rpx;\n  border-radius: 50%;\n  background: #fff;\n  opacity: 0;\n  transition: transform 0.15s cubic-bezier(0.02, 0.01, 0.47, 1), opacity 0.15s cubic-bezier(0.02, 0.01, 0.47, 1);\n  z-index: -1;\n  transform: translate(100%, -25%) translate3d(0, 0, 0);\n}\n\nbutton:hover::before,\nbutton:hover::after {\n  opacity: 0.15;\n  transition: transform 0.2s cubic-bezier(0.02, 0.01, 0.47, 1), opacity 0.2s cubic-bezier(0.02, 0.01, 0.47, 1);\n}\n\nbutton:hover::before {\n  transform: translate3d(50%, 0, 0) scale(0.9);\n}\n\nbutton:hover::after {\n  transform: translate(50%, 0) scale(1.1);\n}\n\n\n",
    "component_name": "GalaxyModernPuma17"
  },
  "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": "medium",
    "bundle_size": 1733,
    "render_cost": "medium",
    "memory_usage": "medium"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:37.333Z",
  "updated_at": "2025-07-31T07:55:37.333Z"
}