UNPKG

galaxy-uniapp-mcp-server

Version:

Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成

117 lines 12.2 kB
{ "id": "0xnihilism_helpless-rattlesnake-54", "name": "helpless-rattlesnake-54", "category": "buttons", "author": "0xnihilism", "description": "helpless-rattlesnake-54 组件 (button, microsoft, animated, brutalism, brutalist, glare effect, animation, interactive)", "tags": [ "button", "microsoft", "animated", "brutalism", "brutalist", "glare effect", "animation", "interactive" ], "original": { "html": "<a href=\"/\" class=\"brutalist-button\">\n <div class=\"content-wrapper\">\n <div class=\"claude-logo\">\n <span class=\"starburst\">✷</span>\n </div>\n <div class=\"button-text\">\n <span>Powered By</span>\n <span>Claude 3.5</span>\n </div>\n </div>\n</a>", "css": "/* From Uiverse.io by 0xnihilism - Tags: button, microsoft, animated, brutalism, brutalist, glare effect */\n.brutalist-button {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #e3d19c;\n border: 3px solid #000000;\n border-radius: 8px;\n padding: 20px;\n text-decoration: none;\n color: #000000;\n font-weight: bold;\n position: relative;\n box-shadow: 4px 4px 0px #000000;\n overflow: hidden;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n width: 166px;\n height: 150px;\n}\n\n.brutalist-button:hover {\n transform: translate(-2px, -2px);\n box-shadow: 6px 6px 0px #000000;\n}\n\n.brutalist-button:active {\n transform: translate(2px, 2px);\n box-shadow: 2px 2px 0px #000000;\n}\n\n.content-wrapper {\n position: relative;\n z-index: 2;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n}\n\n.claude-logo {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 80px;\n height: 80px;\n border-radius: 50%;\n background-color: #eb6c22;\n transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),\n margin-bottom 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n transform: rotate(0deg) scale(1);\n}\n\n.starburst {\n font-size: 48px;\n color: #ffffff;\n line-height: 1;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n}\n\n.button-text {\n display: flex;\n flex-direction: column;\n align-items: center;\n line-height: 1.2;\n text-align: center;\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n}\n\n.button-text span:first-child {\n font-size: 14px;\n font-weight: normal;\n}\n\n.button-text span:last-child {\n font-size: 18px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.brutalist-button:hover .content-wrapper {\n transform: translateY(-10px);\n}\n\n@keyframes slow-spin {\n from {\n transform: rotate(0deg) scale(0.8);\n }\n to {\n transform: rotate(360deg) scale(0.8);\n }\n}\n\n.brutalist-button:hover .claude-logo {\n animation: slow-spin 12s linear infinite;\n margin-bottom: 5px;\n}\n\n.brutalist-button:not(:hover) .claude-logo {\n transform: rotate(0deg) scale(1);\n transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),\n margin-bottom 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);\n margin-bottom: 0;\n}\n\n.brutalist-button:hover .starburst {\n font-size: 38px;\n}\n\n.brutalist-button:hover .button-text {\n opacity: 1;\n max-height: 50px;\n margin-top: 2px;\n}\n\n.brutalist-button:not(:hover) .content-wrapper,\n.brutalist-button:not(:hover) .starburst,\n.brutalist-button:not(:hover) .button-text {\n transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0s;\n}\n\n.brutalist-button::before,\n.brutalist-button::after {\n content: \"\";\n position: absolute;\n top: 50%;\n width: 20px;\n height: 20px;\n background-color: rgba(200, 183, 128, 0.7);\n border-radius: 50%;\n transition: all 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);\n opacity: 0;\n z-index: 1;\n}\n\n.brutalist-button::before {\n left: -20px;\n transform: translate(-50%, -50%);\n}\n\n.brutalist-button::after {\n right: -20px;\n transform: translate(50%, -50%);\n}\n\n.brutalist-button:hover::before {\n animation: criss-cross-left 0.8s both;\n animation-direction: alternate;\n opacity: 1;\n}\n\n.brutalist-button:hover::after {\n animation: criss-cross-right 0.8s both;\n animation-direction: alternate;\n opacity: 1;\n}\n\n@keyframes criss-cross-left {\n 0% {\n left: -20px;\n }\n 50% {\n left: 50%;\n width: 20px;\n height: 20px;\n }\n 100% {\n left: 50%;\n width: 375px;\n height: 375px;\n }\n}\n\n@keyframes criss-cross-right {\n 0% {\n right: -20px;\n }\n 50% {\n right: 50%;\n width: 20px;\n height: 20px;\n }\n 100% {\n right: 50%;\n width: 375px;\n height: 375px;\n }\n}\n\n.brutalist-button:hover .button-text {\n color: #ffffff;\n}\n\n.brutalist-button:hover .button-text span:last-child {\n color: #4e432d;\n}", "file_path": "/mnt/persist/workspace/Buttons/0xnihilism_helpless-rattlesnake-54.html" }, "uniapp": { "template": "<navigator href=\"/\" class=\"brutalist-button\"></navigator>\n <view class=\"content-wrapper\"></view>\n <view class=\"claude-logo\"></view>\n <text class=\"starburst\">✷</text>\n </div>\n <view class=\"button-text\"></view>\n <text>Powered By</text>\n <text>Claude 3.5</text>\n </div>\n </div>\n</a>", "script": "export default {\n name: 'GalaxyHelplessRattlesnake54',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}", "style": "\n/* From Uiverse.io by 0xnihilism - Tags: button, microsoft, animated, brutalism, brutalist, glare effect */\n.brutalist-button {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #e3d19c;\n border: 6rpx solid #000000;\n border-radius: 16rpx;\n padding: 40rpx;\n text-decoration: none;\n color: #000000;\n font-weight: bold;\n position: relative;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 8rpx 8rpx 0rpx #000000;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n overflow: hidden;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n width: 332rpx;\n height: 300rpx;\n}\n\n.brutalist-button:hover {\n transform: translate(-4rpx, -4rpx);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 12rpx 12rpx 0rpx #000000;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.brutalist-button:active {\n transform: translate(4rpx, 4rpx);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 4rpx 4rpx 0rpx #000000;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.content-wrapper {\n position: relative;\n z-index: 2;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n}\n\n.claude-logo {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 160rpx;\n height: 160rpx;\n border-radius: 50%;\n background-color: #eb6c22;\n transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),\n margin-bottom 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n transform: rotate(0deg) scale(1);\n}\n\n.starburst {\n font-size: 96rpx;\n color: #ffffff;\n line-height: 1;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n}\n\n.button-text {\n display: flex;\n flex-direction: column;\n align-items: center;\n line-height: 1.2;\n text-align: center;\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0.8s;\n}\n\n.button-text span:first-child {\n font-size: 28rpx;\n font-weight: normal;\n}\n\n.button-text span:last-child {\n font-size: 36rpx;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 1rpx;\n}\n\n.brutalist-button:hover .content-wrapper {\n transform: translateY(-20rpx);\n}\n\n@keyframes slow-spin {\n from {\n transform: rotate(0deg) scale(0.8);\n }\n to {\n transform: rotate(360deg) scale(0.8);\n }\n}\n\n.brutalist-button:hover .claude-logo {\n animation: slow-spin 12s linear infinite;\n margin-bottom: 10rpx;\n}\n\n.brutalist-button:not(:hover) .claude-logo {\n transform: rotate(0deg) scale(1);\n transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),\n margin-bottom 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);\n margin-bottom: 0;\n}\n\n.brutalist-button:hover .starburst {\n font-size: 76rpx;\n}\n\n.brutalist-button:hover .button-text {\n opacity: 1;\n max-height: 100rpx;\n margin-top: 4rpx;\n}\n\n.brutalist-button:not(:hover) .content-wrapper,\n.brutalist-button:not(:hover) .starburst,\n.brutalist-button:not(:hover) .button-text {\n transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);\n transition-delay: 0s;\n}\n\n.brutalist-button::before,\n.brutalist-button::after {\n content: \"\";\n position: absolute;\n top: 50%;\n width: 40rpx;\n height: 40rpx;\n background-color: rgba(200, 183, 128, 0.7);\n border-radius: 50%;\n transition: all 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);\n opacity: 0;\n z-index: 1;\n}\n\n.brutalist-button::before {\n left: -40rpx;\n transform: translate(-50%, -50%);\n}\n\n.brutalist-button::after {\n right: -40rpx;\n transform: translate(50%, -50%);\n}\n\n.brutalist-button:hover::before {\n animation: criss-cross-left 0.8s both;\n animation-direction: alternate;\n opacity: 1;\n}\n\n.brutalist-button:hover::after {\n animation: criss-cross-right 0.8s both;\n animation-direction: alternate;\n opacity: 1;\n}\n\n@keyframes criss-cross-left {\n 0% {\n left: -40rpx;\n }\n 50% {\n left: 50%;\n width: 40rpx;\n height: 40rpx;\n }\n 100% {\n left: 50%;\n width: 750rpx;\n height: 750rpx;\n }\n}\n\n@keyframes criss-cross-right {\n 0% {\n right: -40rpx;\n }\n 50% {\n right: 50%;\n width: 40rpx;\n height: 40rpx;\n }\n 100% {\n right: 50%;\n width: 750rpx;\n height: 750rpx;\n }\n}\n\n.brutalist-button:hover .button-text {\n color: #ffffff;\n}\n\n.brutalist-button:hover .button-text span:last-child {\n color: #4e432d;\n}\n\n", "component_name": "GalaxyHelplessRattlesnake54" }, "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 属性" ], "alternatives": [] }, "mp-alipay": { "supported": true, "issues": [ "不支持 box-shadow 属性" ], "alternatives": [] }, "app-plus": { "supported": true, "issues": [], "alternatives": [] } }, "performance": { "complexity": "high", "bundle_size": 4335, "render_cost": "high", "memory_usage": "high" }, "dependencies": [], "examples": [ { "title": "", "description": "", "code": "" } ], "created_at": "2025-07-31T07:55:32.373Z", "updated_at": "2025-07-31T07:55:32.373Z" }