{
  "id": "Admin12121_cold-dodo-65",
  "name": "cold-dodo-65",
  "category": "buttons",
  "author": "Admin12121",
  "description": "cold-dodo-65 组件 (button, hover, hover effect, animation, interactive)",
  "tags": [
    "button",
    "hover",
    "hover effect",
    "animation",
    "interactive"
  ],
  "original": {
    "html": "<div class=\"printer\">\n    <div class=\"paper\">\n        <svg viewBox=\"0 0 8 8\" class=\"svg\">\n            <path fill=\"#0077FF\" d=\"M6.28951 1.3867C6.91292 0.809799 7.00842 0 7.00842 0C7.00842 0 6.45246 0.602112 5.54326 0.602112C4.82505 0.602112 4.27655 0.596787 4.07703 0.595012L3.99644 0.594302C1.94904 0.594302 0.290039 2.25224 0.290039 4.29715C0.290039 6.34206 1.94975 8 3.99644 8C6.04312 8 7.70284 6.34206 7.70284 4.29715C7.70347 3.73662 7.57647 3.18331 7.33147 2.67916C7.08647 2.17502 6.7299 1.73327 6.2888 1.38741L6.28951 1.3867ZM3.99679 6.532C2.76133 6.532 1.75875 5.53084 1.75875 4.29609C1.75875 3.06133 2.76097 2.06018 3.99679 2.06018C4.06423 2.06014 4.13163 2.06311 4.1988 2.06905L4.2414 2.07367C4.25028 2.07438 4.26057 2.0758 4.27406 2.07651C4.81533 2.1436 5.31342 2.40616 5.67465 2.81479C6.03589 3.22342 6.23536 3.74997 6.23554 4.29538C6.23554 5.53084 5.23439 6.532 3.9975 6.532H3.99679Z\"></path>\n            <path fill=\"#0055BB\" d=\"M6.756 1.82386C6.19293 2.09 5.58359 2.24445 4.96173 2.27864C4.74513 2.17453 4.51296 2.10653 4.27441 2.07734C4.4718 2.09225 5.16906 2.07947 5.90892 1.66374C6.04642 1.58672 6.1743 1.49364 6.28986 1.38647C6.45751 1.51849 6.61346 1.6647 6.756 1.8235V1.82386Z\"></path>\n        </svg>\n    </div>\n    <div class=\"dot\"></div>\n    <div class=\"output\">\n        <div class=\"paper-out\"></div>\n    </div>\n</div>",
    "css": "/* From Uiverse.io by Admin12121 - Tags: button, hover, hover effect */\n.printer {\n  --border: #00104b;\n  --background: #fff;\n  cursor: pointer;\n  width: 32px;\n  height: 18px;\n  position: relative;\n}\n\n.printer:before, .printer:after {\n  content: \"\";\n  position: absolute;\n  box-shadow: inset 0 0 0 2px var(--border);\n  background: var(--background);\n}\n\n.printer:before {\n  left: 0;\n  right: 0;\n  bottom: 0;\n  height: 14px;\n  border-radius: 3px;\n  z-index: 2;\n}\n\n.printer:after {\n  width: 26px;\n  height: 6px;\n  top: 0;\n  left: 3px;\n  border-radius: 3px 3px 0 0;\n}\n\n.printer .dot {\n  width: 24px;\n  height: 2px;\n  border-radius: 1px;\n  left: 4px;\n  bottom: 4px;\n  z-index: 4;\n  position: absolute;\n  background: var(--border);\n}\n\n.printer .dot:before, .printer .dot:after {\n  content: \"\";\n  position: absolute;\n  background: var(--border);\n  border-radius: 1px;\n  height: 2px;\n}\n\n.printer .dot:before {\n  width: 2px;\n  right: 0;\n  top: -5px;\n}\n\n.printer .dot:after {\n  width: 4px;\n  right: 3px;\n  top: -5px;\n}\n\n.printer .paper {\n  position: absolute;\n  z-index: 1;\n  width: 18px;\n  height: 20px;\n  border-radius: 2px;\n  box-shadow: inset 0 0 0 2px var(--border);\n  background: var(--background);\n  left: 7px;\n  bottom: 10px;\n  display: flex;\n  justify-content: center;\n  transform: perspective(40px) translateY(0) rotateX(4deg) translateZ(0);\n  -webkit-animation: paper 1.2s ease infinite;\n  animation: paper 1.2s ease infinite;\n  -webkit-animation-play-state: var(--state, running);\n  animation-play-state: var(--state, running);\n}\n\n.printer .paper .svg {\n  display: block;\n  width: 8px;\n  height: 8px;\n  margin-top: 4px;\n}\n\n.printer .output {\n  width: 32px;\n  height: 24px;\n  pointer-events: none;\n  top: 13px;\n  left: 0;\n  z-index: 3;\n  overflow: hidden;\n  position: absolute;\n}\n\n.printer .output .paper-out {\n  position: absolute;\n  z-index: 1;\n  width: 18px;\n  height: 20px;\n  border-radius: 2px;\n  box-shadow: inset 0 0 0 2px var(--border);\n  background: var(--background);\n  left: 7px;\n  bottom: 0;\n  transform: perspective(40px) rotateX(40deg) translateY(-12px) translateZ(6px);\n  -webkit-animation: paper-out 1.2s ease infinite;\n  animation: paper-out 1.2s ease infinite;\n  -webkit-animation-play-state: var(--state, running);\n  animation-play-state: var(--state, running);\n}\n\n.printer .output .paper-out:before {\n  content: \"\";\n  position: absolute;\n  left: 3px;\n  top: 4px;\n  right: 3px;\n  height: 2px;\n  border-radius: 1px;\n  opacity: 0.5;\n  background: var(--border);\n  box-shadow: 0 3px 0 var(--border), 0 6px 0 var(--border);\n}\n\n.printer:not(:hover) {\n  --state: paused;\n}\n\n@-webkit-keyframes paper {\n  50% {\n    transform: translateY(10px) translateZ(0);\n  }\n}\n\n@keyframes paper {\n  50% {\n    transform: translateY(10px) translateZ(0);\n  }\n}\n\n@-webkit-keyframes paper-out {\n  50% {\n    transform: perspective(40px) rotateX(30deg) translateY(-4px) translateZ(6px);\n  }\n}\n\n@keyframes paper-out {\n  50% {\n    transform: perspective(40px) rotateX(30deg) translateY(-4px) translateZ(6px);\n  }\n}",
    "file_path": "/mnt/persist/workspace/Buttons/Admin12121_cold-dodo-65.html"
  },
  "uniapp": {
    "template": "<view class=\"printer\"></view>\n    <view class=\"paper\"></view>\n        <view viewBox=\"0 0 8 8\" class=\"svg\"></view>\n            <path fill=\"#0077FF\" d=\"M6.28951 1.3867C6.91292 0.809799 7.00842 0 7.00842 0C7.00842 0 6.45246 0.602112 5.54326 0.602112C4.82505 0.602112 4.27655 0.596787 4.07703 0.595012L3.99644 0.594302C1.94904 0.594302 0.290039 2.25224 0.290039 4.29715C0.290039 6.34206 1.94975 8 3.99644 8C6.04312 8 7.70284 6.34206 7.70284 4.29715C7.70347 3.73662 7.57647 3.18331 7.33147 2.67916C7.08647 2.17502 6.7299 1.73327 6.2888 1.38741L6.28951 1.3867ZM3.99679 6.532C2.76133 6.532 1.75875 5.53084 1.75875 4.29609C1.75875 3.06133 2.76097 2.06018 3.99679 2.06018C4.06423 2.06014 4.13163 2.06311 4.1988 2.06905L4.2414 2.07367C4.25028 2.07438 4.26057 2.0758 4.27406 2.07651C4.81533 2.1436 5.31342 2.40616 5.67465 2.81479C6.03589 3.22342 6.23536 3.74997 6.23554 4.29538C6.23554 5.53084 5.23439 6.532 3.9975 6.532H3.99679Z\"></path>\n            <path fill=\"#0055BB\" d=\"M6.756 1.82386C6.19293 2.09 5.58359 2.24445 4.96173 2.27864C4.74513 2.17453 4.51296 2.10653 4.27441 2.07734C4.4718 2.09225 5.16906 2.07947 5.90892 1.66374C6.04642 1.58672 6.1743 1.49364 6.28986 1.38647C6.45751 1.51849 6.61346 1.6647 6.756 1.8235V1.82386Z\"></path>\n        </svg>\n    </div>\n    <view class=\"dot\"></view>\n    <view class=\"output\"></view>\n        <view class=\"paper-out\"></view>\n    </div>\n</div>",
    "script": "export default {\n  name: 'GalaxyColdDodo65',\n  props: {\n    // 根据组件类型动态生成props\n  },\n  data() {\n    return {\n      // 组件状态\n    };\n  },\n  methods: {\n    // 组件方法\n  }\n}",
    "style": "\n/* From Uiverse.io by Admin12121 - Tags: button, hover, hover effect */\n.printer {\n  --border: #00104b;\n  --background: #fff;\n  /* #ifdef H5 */\n  cursor: pointer;\n  /* #endif */\n  width: 64rpx;\n  height: 36rpx;\n  position: relative;\n}\n\n.printer:before, .printer:after {\n  content: \"\";\n  position: absolute;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: inset 0 0 0 4rpx var(--border);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  background: var(--background);\n}\n\n.printer:before {\n  left: 0;\n  right: 0;\n  bottom: 0;\n  height: 28rpx;\n  border-radius: 6rpx;\n  z-index: 2;\n}\n\n.printer:after {\n  width: 52rpx;\n  height: 12rpx;\n  top: 0;\n  left: 6rpx;\n  border-radius: 6rpx 6rpx 0 0;\n}\n\n.printer .dot {\n  width: 48rpx;\n  height: 4rpx;\n  border-radius: 2rpx;\n  left: 8rpx;\n  bottom: 8rpx;\n  z-index: 4;\n  position: absolute;\n  background: var(--border);\n}\n\n.printer .dot:before, .printer .dot:after {\n  content: \"\";\n  position: absolute;\n  background: var(--border);\n  border-radius: 2rpx;\n  height: 4rpx;\n}\n\n.printer .dot:before {\n  width: 4rpx;\n  right: 0;\n  top: -10rpx;\n}\n\n.printer .dot:after {\n  width: 8rpx;\n  right: 6rpx;\n  top: -10rpx;\n}\n\n.printer .paper {\n  position: absolute;\n  z-index: 1;\n  width: 36rpx;\n  height: 40rpx;\n  border-radius: 4rpx;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: inset 0 0 0 4rpx var(--border);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  background: var(--background);\n  left: 14rpx;\n  bottom: 20rpx;\n  display: flex;\n  justify-content: center;\n  transform: perspective(80rpx) translateY(0) rotateX(4deg) translateZ(0);\n  -webkit-animation: paper 1.2s ease infinite;\n  animation: paper 1.2s ease infinite;\n  -webkit-animation-play-state: var(--state, running);\n  animation-play-state: var(--state, running);\n}\n\n.printer .paper .svg {\n  display: block;\n  width: 16rpx;\n  height: 16rpx;\n  margin-top: 8rpx;\n}\n\n.printer .output {\n  width: 64rpx;\n  height: 48rpx;\n  pointer-events: none;\n  top: 26rpx;\n  left: 0;\n  z-index: 3;\n  overflow: hidden;\n  position: absolute;\n}\n\n.printer .output .paper-out {\n  position: absolute;\n  z-index: 1;\n  width: 36rpx;\n  height: 40rpx;\n  border-radius: 4rpx;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: inset 0 0 0 4rpx var(--border);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  background: var(--background);\n  left: 14rpx;\n  bottom: 0;\n  transform: perspective(80rpx) rotateX(40deg) translateY(-24rpx) translateZ(12rpx);\n  -webkit-animation: paper-out 1.2s ease infinite;\n  animation: paper-out 1.2s ease infinite;\n  -webkit-animation-play-state: var(--state, running);\n  animation-play-state: var(--state, running);\n}\n\n.printer .output .paper-out:before {\n  content: \"\";\n  position: absolute;\n  left: 6rpx;\n  top: 8rpx;\n  right: 6rpx;\n  height: 4rpx;\n  border-radius: 2rpx;\n  opacity: 0.5;\n  background: var(--border);\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0 6rpx 0 var(--border), 0 12rpx 0 var(--border);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n}\n\n.printer:not(:hover) {\n  --state: paused;\n}\n\n@-webkit-keyframes paper {\n  50% {\n    transform: translateY(20rpx) translateZ(0);\n  }\n}\n\n@keyframes paper {\n  50% {\n    transform: translateY(20rpx) translateZ(0);\n  }\n}\n\n@-webkit-keyframes paper-out {\n  50% {\n    transform: perspective(80rpx) rotateX(30deg) translateY(-8rpx) translateZ(12rpx);\n  }\n}\n\n@keyframes paper-out {\n  50% {\n    transform: perspective(80rpx) rotateX(30deg) translateY(-8rpx) translateZ(12rpx);\n  }\n}\n\n",
    "component_name": "GalaxyColdDodo65"
  },
  "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": "high",
    "bundle_size": 4347,
    "render_cost": "high",
    "memory_usage": "high"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:32.529Z",
  "updated_at": "2025-07-31T07:55:32.529Z"
}