{
  "id": "Galahhad_kind-cheetah-52",
  "name": "kind-cheetah-52",
  "category": "buttons",
  "author": "Galahhad",
  "description": "kind-cheetah-52 组件 (icon, button, copy, clipboard, animation, interactive)",
  "tags": [
    "icon",
    "button",
    "copy",
    "clipboard",
    "animation",
    "interactive"
  ],
  "original": {
    "html": "<button class=\"copy\">\n  <span data-text-end=\"Copied!\" data-text-initial=\"Copy to clipboard\" class=\"tooltip\"></span>\n  <span>\n    <svg xml:space=\"preserve\" style=\"enable-background:new 0 0 512 512\" viewBox=\"0 0 6.35 6.35\" y=\"0\" x=\"0\" height=\"20\" width=\"20\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" class=\"clipboard\">\n      <g>\n        <path fill=\"currentColor\" d=\"M2.43.265c-.3 0-.548.236-.573.53h-.328a.74.74 0 0 0-.735.734v3.822a.74.74 0 0 0 .735.734H4.82a.74.74 0 0 0 .735-.734V1.529a.74.74 0 0 0-.735-.735h-.328a.58.58 0 0 0-.573-.53zm0 .529h1.49c.032 0 .049.017.049.049v.431c0 .032-.017.049-.049.049H2.43c-.032 0-.05-.017-.05-.049V.843c0-.032.018-.05.05-.05zm-.901.53h.328c.026.292.274.528.573.528h1.49a.58.58 0 0 0 .573-.529h.328a.2.2 0 0 1 .206.206v3.822a.2.2 0 0 1-.206.205H1.53a.2.2 0 0 1-.206-.205V1.529a.2.2 0 0 1 .206-.206z\"></path>\n      </g>\n    </svg>\n    <svg xml:space=\"preserve\" style=\"enable-background:new 0 0 512 512\" viewBox=\"0 0 24 24\" y=\"0\" x=\"0\" height=\"18\" width=\"18\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" class=\"checkmark\">\n      <g>\n        <path data-original=\"#000000\" fill=\"currentColor\" d=\"M9.707 19.121a.997.997 0 0 1-1.414 0l-5.646-5.647a1.5 1.5 0 0 1 0-2.121l.707-.707a1.5 1.5 0 0 1 2.121 0L9 14.171l9.525-9.525a1.5 1.5 0 0 1 2.121 0l.707.707a1.5 1.5 0 0 1 0 2.121z\"></path>\n      </g>\n    </svg>\n  </span>\n</button>",
    "css": "/* From Uiverse.io by Galahhad - Tags: icon, button, copy, clipboard */\n/* tooltip settings 👇 */\n\n.copy {\n  /* button */\n  --button-bg: #353434;\n  --button-hover-bg: #464646;\n  --button-text-color: #CCCCCC;\n  --button-hover-text-color: #8bb9fe;\n  --button-border-radius: 10px;\n  --button-diameter: 36px;\n  --button-outline-width: 1px;\n  --button-outline-color: rgb(141, 141, 141);\n  /* tooltip */\n  --tooltip-bg: #f4f3f3;\n  --toolptip-border-radius: 4px;\n  --tooltip-font-family: Menlo, Roboto Mono, monospace;\n  /* 👆 this field should not be empty */\n  --tooltip-font-size: 12px;\n  /* 👆 this field should not be empty */\n  --tootip-text-color: rgb(50, 50, 50);\n  --tooltip-padding-x: 7px;\n  --tooltip-padding-y: 7px;\n  --tooltip-offset: 8px;\n  /* --tooltip-transition-duration: 0.3s; */\n  /* 👆 if you need a transition, \n  just remove the comment,\n  but I didn't like the transition :| */\n}\n\n.copy {\n  box-sizing: border-box;\n  width: var(--button-diameter);\n  height: var(--button-diameter);\n  border-radius: var(--button-border-radius);\n  background-color: var(--button-bg);\n  color: var(--button-text-color);\n  border: none;\n  cursor: pointer;\n  position: relative;\n  outline: none;\n}\n\n.tooltip {\n  position: absolute;\n  opacity: 0;\n  visibility: 0;\n  top: 0;\n  left: 50%;\n  transform: translateX(-50%);\n  white-space: nowrap;\n  font: var(--tooltip-font-size) var(--tooltip-font-family);\n  color: var(--tootip-text-color);\n  background: var(--tooltip-bg);\n  padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n  border-radius: var(--toolptip-border-radius);\n  pointer-events: none;\n  transition: all var(--tooltip-transition-duration) cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n\n.tooltip::before {\n  content: attr(data-text-initial);\n}\n\n.tooltip::after {\n  content: \"\";\n  position: absolute;\n  bottom: calc(var(--tooltip-padding-y) / 2 * -1);\n  width: var(--tooltip-padding-y);\n  height: var(--tooltip-padding-y);\n  background: inherit;\n  left: 50%;\n  transform: translateX(-50%) rotate(45deg);\n  z-index: -999;\n  pointer-events: none;\n}\n\n.copy svg {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n}\n\n.checkmark {\n  display: none;\n}\n\n/* actions */\n\n.copy:hover .tooltip,\n.copy:focus:not(:focus-visible) .tooltip {\n  opacity: 1;\n  visibility: visible;\n  top: calc((100% + var(--tooltip-offset)) * -1);\n}\n\n.copy:focus:not(:focus-visible) .tooltip::before {\n  content: attr(data-text-end);\n}\n\n.copy:focus:not(:focus-visible) .clipboard {\n  display: none;\n}\n\n.copy:focus:not(:focus-visible) .checkmark {\n  display: block;\n}\n\n.copy:hover,\n.copy:focus {\n  background-color: var(--button-hover-bg);\n}\n\n.copy:active {\n  outline: var(--button-outline-width) solid var(--button-outline-color);\n}\n\n.copy:hover svg {\n  color: var(--button-hover-text-color);\n}",
    "file_path": "/mnt/persist/workspace/Buttons/Galahhad_kind-cheetah-52.html"
  },
  "uniapp": {
    "template": "<button class=\"copy\"></button>\n  <text data-text-end=\"Copied!\" data-text-initial=\"Copy to clipboard\" class=\"tooltip\"></text>\n  <text></text>\n    <view xml:space=\"preserve\" style=\"enable-background:new 0 0 512 512\" viewBox=\"0 0 6.35 6.35\" y=\"0\" x=\"0\" height=\"20\" width=\"20\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" class=\"clipboard\"></view>\n      <g>\n        <path fill=\"currentColor\" d=\"M2.43.265c-.3 0-.548.236-.573.53h-.328a.74.74 0 0 0-.735.734v3.822a.74.74 0 0 0 .735.734H4.82a.74.74 0 0 0 .735-.734V1.529a.74.74 0 0 0-.735-.735h-.328a.58.58 0 0 0-.573-.53zm0 .529h1.49c.032 0 .049.017.049.049v.431c0 .032-.017.049-.049.049H2.43c-.032 0-.05-.017-.05-.049V.843c0-.032.018-.05.05-.05zm-.901.53h.328c.026.292.274.528.573.528h1.49a.58.58 0 0 0 .573-.529h.328a.2.2 0 0 1 .206.206v3.822a.2.2 0 0 1-.206.205H1.53a.2.2 0 0 1-.206-.205V1.529a.2.2 0 0 1 .206-.206z\"></path>\n      </g>\n    </svg>\n    <view xml:space=\"preserve\" style=\"enable-background:new 0 0 512 512\" viewBox=\"0 0 24 24\" y=\"0\" x=\"0\" height=\"18\" width=\"18\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" class=\"checkmark\"></view>\n      <g>\n        <path data-original=\"#000000\" fill=\"currentColor\" d=\"M9.707 19.121a.997.997 0 0 1-1.414 0l-5.646-5.647a1.5 1.5 0 0 1 0-2.121l.707-.707a1.5 1.5 0 0 1 2.121 0L9 14.171l9.525-9.525a1.5 1.5 0 0 1 2.121 0l.707.707a1.5 1.5 0 0 1 0 2.121z\"></path>\n      </g>\n    </svg>\n  </span>\n</button>",
    "script": "export default {\n  name: 'GalaxyKindCheetah52',\n  props: {\n    // 根据组件类型动态生成props\n  },\n  data() {\n    return {\n      // 组件状态\n    };\n  },\n  methods: {\n    // 组件方法\n  }\n}",
    "style": "\n/* From Uiverse.io by Galahhad - Tags: icon, button, copy, clipboard */\n/* tooltip settings 👇 */\n\n.copy {\n  /* button */\n  --button-bg: #353434;\n  --button-hover-bg: #464646;\n  --button-text-color: #CCCCCC;\n  --button-hover-text-color: #8bb9fe;\n  --button-border-radius: 20rpx;\n  --button-diameter: 72rpx;\n  --button-outline-width: 2rpx;\n  --button-outline-color: rgb(141, 141, 141);\n  /* tooltip */\n  --tooltip-bg: #f4f3f3;\n  --toolptip-border-radius: 8rpx;\n  --tooltip-font-family: Menlo, Roboto Mono, monospace;\n  /* 👆 this field should not be empty */\n  --tooltip-font-size: 24rpx;\n  /* 👆 this field should not be empty */\n  --tootip-text-color: rgb(50, 50, 50);\n  --tooltip-padding-x: 14rpx;\n  --tooltip-padding-y: 14rpx;\n  --tooltip-offset: 16rpx;\n  /* --tooltip-transition-duration: 0.3s; */\n  /* 👆 if you need a transition, \n  just remove the comment,\n  but I didn't like the transition :| */\n}\n\n.copy {\n  box-sizing: border-box;\n  width: var(--button-diameter);\n  height: var(--button-diameter);\n  border-radius: var(--button-border-radius);\n  background-color: var(--button-bg);\n  color: var(--button-text-color);\n  border: none;\n  /* #ifdef H5 */\n  cursor: pointer;\n  /* #endif */\n  position: relative;\n  outline: none;\n}\n\n.tooltip {\n  position: absolute;\n  opacity: 0;\n  visibility: 0;\n  top: 0;\n  left: 50%;\n  transform: translateX(-50%);\n  white-space: nowrap;\n  font: var(--tooltip-font-size) var(--tooltip-font-family);\n  color: var(--tootip-text-color);\n  background: var(--tooltip-bg);\n  padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n  border-radius: var(--toolptip-border-radius);\n  pointer-events: none;\n  transition: all var(--tooltip-transition-duration) cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n\n.tooltip::before {\n  content: attr(data-text-initial);\n}\n\n.tooltip::after {\n  content: \"\";\n  position: absolute;\n  bottom: calc(var(--tooltip-padding-y) / 2 * -1);\n  width: var(--tooltip-padding-y);\n  height: var(--tooltip-padding-y);\n  background: inherit;\n  left: 50%;\n  transform: translateX(-50%) rotate(45deg);\n  z-index: -999;\n  pointer-events: none;\n}\n\n.copy svg {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n}\n\n.checkmark {\n  display: none;\n}\n\n/* actions */\n\n.copy:hover .tooltip,\n.copy:focus:not(:focus-visible) .tooltip {\n  opacity: 1;\n  visibility: visible;\n  top: calc((100% + var(--tooltip-offset)) * -1);\n}\n\n.copy:focus:not(:focus-visible) .tooltip::before {\n  content: attr(data-text-end);\n}\n\n.copy:focus:not(:focus-visible) .clipboard {\n  display: none;\n}\n\n.copy:focus:not(:focus-visible) .checkmark {\n  display: block;\n}\n\n.copy:hover,\n.copy:focus {\n  background-color: var(--button-hover-bg);\n}\n\n.copy:active {\n  outline: var(--button-outline-width) solid var(--button-outline-color);\n}\n\n.copy:hover svg {\n  color: var(--button-hover-text-color);\n}\n",
    "component_name": "GalaxyKindCheetah52"
  },
  "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": "high",
    "bundle_size": 4257,
    "render_cost": "high",
    "memory_usage": "high"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:33.234Z",
  "updated_at": "2025-07-31T07:55:33.234Z"
}