galaxy-uniapp-mcp-server
Version:
Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成
99 lines • 25.2 kB
JSON
{
"id": "Mohammad-Rahme-576_hard-starfish-64",
"name": "hard-starfish-64",
"category": "tooltips",
"author": "Mohammad-Rahme-576",
"description": "hard-starfish-64 组件 (tooltip, animation, gradient, interactive)",
"tags": [
"tooltip",
"animation",
"gradient",
"interactive"
],
"original": {
"html": "<div class=\"tooltip-container\">\n <div class=\"button-content\">\n <span class=\"text\">Share</span>\n <svg class=\"share-icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path d=\"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92c0-1.61-1.31-2.92-2.92-2.92zM18 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM6 13c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm12 7.02c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z\"></path>\n </svg>\n </div>\n <div class=\"tooltip-content\">\n <div class=\"social-icons\">\n <a href=\"#\" class=\"social-icon twitter\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path d=\"M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z\"></path>\n </svg>\n </a>\n <a href=\"#\" class=\"social-icon facebook\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path d=\"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"></path>\n </svg>\n </a>\n <a href=\"#\" class=\"social-icon linkedin\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\"></path>\n </svg>\n </a>\n </div>\n </div>\n</div>",
"css": "/* From Uiverse.io by Mohammad-Rahme-576 - Tags: tooltip */\n/* Container Styles */\n.tooltip-container {\n position: relative;\n display: inline-block;\n font-family: \"Arial\", sans-serif;\n overflow: visible;\n}\n\n/* Button Styles */\n.button-content {\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(135deg, #6e8efb, #a777e3);\n color: white;\n padding: 14px 28px;\n border-radius: 50px;\n cursor: pointer;\n transition:\n background 0.4s cubic-bezier(0.25, 0.8, 0.25, 1),\n transform 0.3s ease,\n box-shadow 0.4s ease;\n box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);\n position: relative;\n z-index: 10;\n overflow: hidden;\n}\n\n.button-content::before {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background: linear-gradient(\n 135deg,\n rgba(110, 142, 251, 0.4),\n rgba(167, 119, 227, 0.4)\n );\n filter: blur(15px);\n opacity: 0;\n transition: opacity 0.5s ease;\n z-index: -1;\n}\n\n.button-content::after {\n content: \"\";\n position: absolute;\n top: -50%;\n left: -50%;\n width: 200%;\n height: 200%;\n background: radial-gradient(\n circle,\n rgba(255, 255, 255, 0.3) 0%,\n rgba(255, 255, 255, 0) 70%\n );\n transform: scale(0);\n transition: transform 0.6s ease-out;\n z-index: -1;\n}\n\n.button-content:hover::before {\n opacity: 1;\n}\n\n.button-content:hover::after {\n transform: scale(1);\n}\n\n.button-content:hover {\n background: linear-gradient(135deg, #a777e3, #6e8efb);\n box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);\n transform: translateY(-4px) scale(1.03);\n}\n\n.button-content:active {\n transform: translateY(-2px) scale(0.98);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);\n}\n\n.text {\n font-size: 18px;\n font-weight: 600;\n margin-right: 12px;\n white-space: nowrap;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n transition: letter-spacing 0.3s ease;\n}\n\n.button-content:hover .text {\n letter-spacing: 1px;\n}\n\n.share-icon {\n fill: white;\n transition:\n transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55),\n fill 0.3s ease;\n filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));\n}\n\n.button-content:hover .share-icon {\n transform: rotate(180deg) scale(1.1);\n fill: #ffffff;\n}\n\n/* Tooltip Styles */\n.tooltip-content {\n position: absolute;\n top: 102%;\n left: 50%;\n transform: translateX(-50%) scale(0.8);\n background: white;\n border-radius: 15px;\n padding: 22px;\n box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);\n opacity: 0;\n visibility: hidden;\n transition:\n opacity 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55),\n transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55),\n visibility 0.5s ease;\n z-index: 100;\n pointer-events: none;\n backdrop-filter: blur(10px);\n background: rgba(255, 255, 255, 0.9);\n}\n\n.tooltip-container:hover .tooltip-content {\n opacity: 1;\n visibility: visible;\n transform: translateX(-50%) scale(1);\n pointer-events: auto;\n}\n\n/* Social Icons Styles */\n.social-icons {\n display: flex;\n justify-content: space-between;\n gap: 12px;\n}\n\n.social-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 50%;\n background: #f0f0f0;\n transition:\n transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55),\n background 0.3s ease,\n box-shadow 0.4s ease;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n position: relative;\n overflow: hidden;\n}\n\n.social-icon::before {\n content: \"\";\n position: absolute;\n inset: 0;\n background: radial-gradient(\n circle at center,\n rgba(255, 255, 255, 0.8) 0%,\n rgba(255, 255, 255, 0) 70%\n );\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.social-icon:hover::before {\n opacity: 1;\n}\n\n.social-icon svg {\n width: 24px;\n height: 24px;\n fill: #333;\n transition:\n transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55),\n fill 0.3s ease;\n z-index: 1;\n}\n\n.social-icon:hover {\n transform: translateY(-5px) scale(1.1);\n box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);\n}\n\n.social-icon:active {\n transform: translateY(-2px) scale(1.05);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);\n}\n\n.social-icon:hover svg {\n transform: scale(1.2);\n fill: white;\n}\n\n.social-icon.twitter:hover {\n background: linear-gradient(135deg, #1da1f2, #1a91da);\n}\n\n.social-icon.facebook:hover {\n background: linear-gradient(135deg, #1877f2, #165ed0);\n}\n\n.social-icon.linkedin:hover {\n background: linear-gradient(135deg, #0077b5, #005e94);\n}\n\n/* Animation for Pulse Effect */\n@keyframes pulse {\n 0% {\n box-shadow: 0 0 0 0 rgba(110, 142, 251, 0.4);\n }\n 70% {\n box-shadow: 0 0 0 20px rgba(110, 142, 251, 0);\n }\n 100% {\n box-shadow: 0 0 0 0 rgba(110, 142, 251, 0);\n }\n}\n\n.button-content {\n animation: pulse 3s infinite;\n}\n\n/* Hover Ripple Effect */\n@keyframes ripple {\n 0% {\n transform: scale(0);\n opacity: 1;\n }\n 100% {\n transform: scale(4);\n opacity: 0;\n }\n}\n\n.button-content::before {\n content: \"\";\n position: absolute;\n inset: 0;\n background: rgba(255, 255, 255, 0.3);\n border-radius: inherit;\n transform: scale(0);\n opacity: 0;\n}\n\n.button-content:active::before {\n animation: ripple 0.6s linear;\n}\n\n/* Tooltip Arrow */\n.tooltip-content::before {\n content: \"\";\n position: absolute;\n top: -10px;\n left: 50%;\n transform: translateX(-50%);\n border-width: 0 10px 10px 10px;\n border-style: solid;\n border-color: transparent transparent rgba(255, 255, 255, 0.9) transparent;\n filter: drop-shadow(0 -3px 3px rgba(0, 0, 0, 0.1));\n}\n\n/* Accessibility */\n.button-content:focus {\n outline: none;\n box-shadow:\n 0 0 0 3px rgba(110, 142, 251, 0.5),\n 0 8px 15px rgba(0, 0, 0, 0.1);\n}\n\n.button-content:focus:not(:focus-visible) {\n box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);\n}\n\n/* Responsive Design */\n@media (max-width: 768px) {\n .button-content {\n padding: 12px 24px;\n border-radius: 40px;\n }\n\n .text {\n font-size: 16px;\n }\n\n .tooltip-content {\n width: 240px;\n padding: 18px;\n }\n\n .social-icon {\n width: 44px;\n height: 44px;\n }\n\n .social-icon svg {\n width: 20px;\n height: 20px;\n }\n}\n\n@media (max-width: 480px) {\n .button-content {\n padding: 10px 20px;\n }\n\n .text {\n font-size: 14px;\n }\n\n .tooltip-content {\n width: 200px;\n padding: 15px;\n }\n\n .social-icon {\n width: 40px;\n height: 40px;\n }\n\n .social-icon svg {\n width: 18px;\n height: 18px;\n }\n}\n\n/* Dark Mode Support */\n@media (prefers-color-scheme: dark) {\n .tooltip-content {\n background: rgba(30, 30, 30, 0.9);\n color: white;\n }\n\n .tooltip-content::before {\n border-color: transparent transparent rgba(30, 30, 30, 0.9) transparent;\n }\n\n .social-icon {\n background: #2a2a2a;\n }\n\n .social-icon svg {\n fill: #e0e0e0;\n }\n}\n\n/* Print Styles */\n@media print {\n .tooltip-container {\n display: none;\n }\n}\n\n/* Reduced Motion */\n@media (prefers-reduced-motion: reduce) {\n .button-content,\n .share-icon,\n .social-icon,\n .tooltip-content {\n transition: none;\n }\n\n .button-content {\n animation: none;\n }\n}\n\n/* Custom Scrollbar for Tooltip Content */\n.tooltip-content::-webkit-scrollbar {\n width: 6px;\n}\n\n.tooltip-content::-webkit-scrollbar-track {\n background: #f1f1f1;\n border-radius: 3px;\n}\n\n.tooltip-content::-webkit-scrollbar-thumb {\n background: #888;\n border-radius: 3px;\n}\n\n.tooltip-content::-webkit-scrollbar-thumb:hover {\n background: #555;\n}",
"file_path": "/mnt/persist/workspace/Tooltips/Mohammad-Rahme-576_hard-starfish-64.html"
},
"uniapp": {
"template": "<view class=\"tooltip-container\"></view>\n <view class=\"button-content\"></view>\n <text class=\"text\">Share</text>\n <view class=\"share-icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"></view>\n <path d=\"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92c0-1.61-1.31-2.92-2.92-2.92zM18 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM6 13c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm12 7.02c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z\"></path>\n </svg>\n </div>\n <view class=\"tooltip-content\"></view>\n <view class=\"social-icons\"></view>\n <navigator href=\"#\" class=\"social-icon twitter\"></navigator>\n <view xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"></view>\n <path d=\"M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z\"></path>\n </svg>\n </a>\n <navigator href=\"#\" class=\"social-icon facebook\"></navigator>\n <view xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"></view>\n <path d=\"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"></path>\n </svg>\n </a>\n <navigator href=\"#\" class=\"social-icon linkedin\"></navigator>\n <view xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"></view>\n <path d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\"></path>\n </svg>\n </a>\n </div>\n </div>\n</div>",
"script": "export default {\n name: 'GalaxyHardStarfish64',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}",
"style": "\n/* From Uiverse.io by Mohammad-Rahme-576 - Tags: tooltip */\n/* Container Styles */\n.tooltip-container {\n position: relative;\n display: inline-block;\n font-family: \"Arial\", sans-serif;\n overflow: visible;\n}\n\n/* Button Styles */\n.button-content {\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(135deg, #6e8efb, #a777e3);\n color: white;\n padding: 28rpx 56rpx;\n border-radius: 100rpx;\n /* #ifdef H5 */\n cursor: pointer;\n /* #endif */\n transition:\n background 0.4s cubic-bezier(0.25, 0.8, 0.25, 1),\n transform 0.3s ease,\n box-shadow 0.4s ease;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 16rpx 30rpx rgba(0, 0, 0, 0.1);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n position: relative;\n z-index: 10;\n overflow: hidden;\n}\n\n.button-content::before {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background: linear-gradient(\n 135deg,\n rgba(110, 142, 251, 0.4),\n rgba(167, 119, 227, 0.4)\n );\n \n opacity: 0;\n transition: opacity 0.5s ease;\n z-index: -1;\n}\n\n.button-content::after {\n content: \"\";\n position: absolute;\n top: -50%;\n left: -50%;\n width: 200%;\n height: 200%;\n background: radial-gradient(\n circle,\n rgba(255, 255, 255, 0.3) 0%,\n rgba(255, 255, 255, 0) 70%\n );\n transform: scale(0);\n transition: transform 0.6s ease-out;\n z-index: -1;\n}\n\n.button-content:hover::before {\n opacity: 1;\n}\n\n.button-content:hover::after {\n transform: scale(1);\n}\n\n.button-content:hover {\n background: linear-gradient(135deg, #a777e3, #6e8efb);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 24rpx 48rpx rgba(0, 0, 0, 0.2);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n transform: translateY(-8rpx) scale(1.03);\n}\n\n.button-content:active {\n transform: translateY(-4rpx) scale(0.98);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 10rpx 20rpx rgba(0, 0, 0, 0.15);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.text {\n font-size: 36rpx;\n font-weight: 600;\n margin-right: 24rpx;\n white-space: nowrap;\n /* #ifdef H5 */\n text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.1);\n /* #endif */\n transition: letter-spacing 0.3s ease;\n}\n\n.button-content:hover .text {\n letter-spacing: 2rpx;\n}\n\n.share-icon {\n fill: white;\n transition:\n transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55),\n fill 0.3s ease;\n \n}\n\n.button-content:hover .share-icon {\n transform: rotate(180deg) scale(1.1);\n fill: #ffffff;\n}\n\n/* Tooltip Styles */\n.tooltip-content {\n position: absolute;\n top: 102%;\n left: 50%;\n transform: translateX(-50%) scale(0.8);\n background: white;\n border-radius: 30rpx;\n padding: 44rpx;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 30rpx 60rpx rgba(0, 0, 0, 0.2);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n opacity: 0;\n visibility: hidden;\n transition:\n opacity 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55),\n transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55),\n visibility 0.5s ease;\n z-index: 100;\n pointer-events: none;\n backdrop-\n background: rgba(255, 255, 255, 0.9);\n}\n\n.tooltip-container:hover .tooltip-content {\n opacity: 1;\n visibility: visible;\n transform: translateX(-50%) scale(1);\n pointer-events: auto;\n}\n\n/* Social Icons Styles */\n.social-icons {\n display: flex;\n justify-content: space-between;\n gap: 24rpx;\n}\n\n.social-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 96rpx;\n height: 96rpx;\n border-radius: 50%;\n background: #f0f0f0;\n transition:\n transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55),\n background 0.3s ease,\n box-shadow 0.4s ease;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 8rpx 16rpx rgba(0, 0, 0, 0.1);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n position: relative;\n overflow: hidden;\n}\n\n.social-icon::before {\n content: \"\";\n position: absolute;\n inset: 0;\n background: radial-gradient(\n circle at center,\n rgba(255, 255, 255, 0.8) 0%,\n rgba(255, 255, 255, 0) 70%\n );\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.social-icon:hover::before {\n opacity: 1;\n}\n\n.social-icon svg {\n width: 48rpx;\n height: 48rpx;\n fill: #333;\n transition:\n transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55),\n fill 0.3s ease;\n z-index: 1;\n}\n\n.social-icon:hover {\n transform: translateY(-10rpx) scale(1.1);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 20rpx 40rpx rgba(0, 0, 0, 0.15);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.social-icon:active {\n transform: translateY(-4rpx) scale(1.05);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 10rpx 20rpx rgba(0, 0, 0, 0.1);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.social-icon:hover svg {\n transform: scale(1.2);\n fill: white;\n}\n\n.social-icon.twitter:hover {\n background: linear-gradient(135deg, #1da1f2, #1a91da);\n}\n\n.social-icon.facebook:hover {\n background: linear-gradient(135deg, #1877f2, #165ed0);\n}\n\n.social-icon.linkedin:hover {\n background: linear-gradient(135deg, #0077b5, #005e94);\n}\n\n/* Animation for Pulse Effect */\n@keyframes pulse {\n 0% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 0 0 0 rgba(110, 142, 251, 0.4);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n 70% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 0 0 40rpx rgba(110, 142, 251, 0);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n 100% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 0 0 0 rgba(110, 142, 251, 0);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n}\n\n.button-content {\n animation: pulse 3s infinite;\n}\n\n/* Hover Ripple Effect */\n@keyframes ripple {\n 0% {\n transform: scale(0);\n opacity: 1;\n }\n 100% {\n transform: scale(4);\n opacity: 0;\n }\n}\n\n.button-content::before {\n content: \"\";\n position: absolute;\n inset: 0;\n background: rgba(255, 255, 255, 0.3);\n border-radius: inherit;\n transform: scale(0);\n opacity: 0;\n}\n\n.button-content:active::before {\n animation: ripple 0.6s linear;\n}\n\n/* Tooltip Arrow */\n.tooltip-content::before {\n content: \"\";\n position: absolute;\n top: -20rpx;\n left: 50%;\n transform: translateX(-50%);\n border-width: 0 20rpx 20rpx 20rpx;\n border-style: solid;\n border-color: transparent transparent rgba(255, 255, 255, 0.9) transparent;\n \n}\n\n/* Accessibility */\n.button-content:focus {\n outline: none;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow:\n 0 0 0 6rpx rgba(110, 142, 251, 0.5),\n 0 16rpx 30rpx rgba(0, 0, 0, 0.1);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.button-content:focus:not(:focus-visible) {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 16rpx 30rpx rgba(0, 0, 0, 0.1);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n/* Responsive Design */\n@media (max-width: 1536rpx) {\n .button-content {\n padding: 24rpx 48rpx;\n border-radius: 80rpx;\n }\n\n .text {\n font-size: 32rpx;\n }\n\n .tooltip-content {\n width: 480rpx;\n padding: 36rpx;\n }\n\n .social-icon {\n width: 88rpx;\n height: 88rpx;\n }\n\n .social-icon svg {\n width: 40rpx;\n height: 40rpx;\n }\n}\n\n@media (max-width: 960rpx) {\n .button-content {\n padding: 20rpx 40rpx;\n }\n\n .text {\n font-size: 28rpx;\n }\n\n .tooltip-content {\n width: 400rpx;\n padding: 30rpx;\n }\n\n .social-icon {\n width: 80rpx;\n height: 80rpx;\n }\n\n .social-icon svg {\n width: 36rpx;\n height: 36rpx;\n }\n}\n\n/* Dark Mode Support */\n@media (prefers-color-scheme: dark) {\n .tooltip-content {\n background: rgba(30, 30, 30, 0.9);\n color: white;\n }\n\n .tooltip-content::before {\n border-color: transparent transparent rgba(30, 30, 30, 0.9) transparent;\n }\n\n .social-icon {\n background: #2a2a2a;\n }\n\n .social-icon svg {\n fill: #e0e0e0;\n }\n}\n\n/* Print Styles */\n@media print {\n .tooltip-container {\n display: none;\n }\n}\n\n/* Reduced Motion */\n@media (prefers-reduced-motion: reduce) {\n .button-content,\n .share-icon,\n .social-icon,\n .tooltip-content {\n transition: none;\n }\n\n .button-content {\n animation: none;\n }\n}\n\n/* Custom Scrollbar for Tooltip Content */\n.tooltip-content::-webkit-scrollbar {\n width: 12rpx;\n}\n\n.tooltip-content::-webkit-scrollbar-track {\n background: #f1f1f1;\n border-radius: 6rpx;\n}\n\n.tooltip-content::-webkit-scrollbar-thumb {\n background: #888;\n border-radius: 6rpx;\n}\n\n.tooltip-content::-webkit-scrollbar-thumb:hover {\n background: #555;\n}\n\n",
"component_name": "GalaxyHardStarfish64"
},
"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": "是否禁用"
}
],
"events": [],
"slots": [
{
"name": "",
"description": "",
"props": []
}
],
"compatibility": {
"h5": {
"supported": true,
"issues": [],
"alternatives": []
},
"mp-weixin": {
"supported": true,
"issues": [
"不支持 box-shadow 属性",
"不支持 text-shadow 属性",
"不支持 filter 属性",
"不支持 backdrop-filter 属性",
"不支持 cursor 属性"
],
"alternatives": []
},
"mp-alipay": {
"supported": true,
"issues": [
"不支持 box-shadow 属性",
"不支持 text-shadow 属性",
"不支持 filter 属性",
"不支持 backdrop-filter 属性",
"不支持 cursor 属性"
],
"alternatives": []
},
"app-plus": {
"supported": true,
"issues": [],
"alternatives": []
}
},
"performance": {
"complexity": "high",
"bundle_size": 10029,
"render_cost": "high",
"memory_usage": "high"
},
"dependencies": [],
"examples": [
{
"title": "",
"description": "",
"code": ""
}
],
"created_at": "2025-07-31T07:55:38.521Z",
"updated_at": "2025-07-31T07:55:38.521Z"
}