@kelvininc/ui-components
Version:
Kelvin UI Components
1 lines • 2.84 kB
JavaScript
import{r as o,h as a,H as t}from"./p-WTwLUJcM.js";import{d as c,o as i,m as r}from"./p-COrzvkrr.js";import{o as e}from"./p-CJTtq_QG.js";import{a as n}from"./p-DWwSys2u.js";import"./p-DjSNdVAB.js";const s={[r.ReadyToCopy]:i.CopyClipboard,[r.Copied]:i.Success},d={placement:c.BottomEnd,middleware:[e({mainAxis:4,crossAxis:-8})]},p=class{constructor(a){o(this,a),this.tooltipDelay=500,this.tooltipConfig=d,this.copyState=r.ReadyToCopy,this.onTextCopy=async o=>{if(o.stopPropagation(),this.copyState!==r.Copied)try{await n(this.copiableText),this.copyState=r.Copied,setTimeout((()=>this.copyState=r.ReadyToCopy),2e3)}catch(o){throw new Error("Unable to copy to clipboard")}}}get tooltipText(){return this.copyState===r.Copied?"Copied":`Copy ${this.tooltipSuffix||""}`.trim()}render(){return a(t,{key:"7f1bc9047fef424bbe5a5cc1ca2445b413009f21"},a("kv-tooltip",{key:"34049014fcfcb7ee4e17b4f00057b18e66a268f8",text:this.tooltipText,options:this.tooltipConfig,delay:this.tooltipDelay,onClick:this.onTextCopy},a("div",{key:"bd02b999a816aae80d833cb4ae95f9bd17c74e92",part:"content",class:"copy-to-clipboard-container"},a("slot",{key:"3726b84a1700251303b31496b7de2d0b7fbcb99e"}),a("div",{key:"6d3b3f5d2c1e80728b8de66ed5871b32fed6ef05",class:{"state-icon":!0,"state-icon--success":this.copyState===r.Copied}},a("kv-icon",{key:"74fdee8ab603a3bee2a4e087fd78b8549682be9a",name:s[this.copyState],part:"icon"})))))}};p.style='@property --rotation{syntax:"<angle>";initial-value:0deg;inherits:false}@keyframes rotate-border{to{--rotation:360deg}}kv-dropdown-base:not(.hydrated)>[slot=list]{display:none}:host{--container-width:100%;--container-padding:var(--spacing-md);--container-hover-background-color:var(--transparent);--container-gap:var(--spacing-md);--icon-start-opacity:0;--icon-color-default:var(--icon-container-neutral-subtle);--icon-color-success:var(--icon-surface-status-success-default);--icon-background-color-success:var(--background-surface-neutral-inverse);--icon-size:var(--size-md)}.copy-to-clipboard-container{width:var(--container-width);display:flex;justify-content:space-between;align-items:center;border-radius:var(--radius-md);gap:var(--container-gap);padding:var(--container-padding);box-sizing:border-box;transition:background-color 0.2s ease-in-out, opacity 0.25s ease-in-out}.copy-to-clipboard-container:hover{cursor:pointer;background-color:var(--container-hover-background-color)}.copy-to-clipboard-container:hover .state-icon kv-icon{opacity:1}.copy-to-clipboard-container .state-icon kv-icon{--icon-height:var(--icon-size);--icon-width:var(--icon-size);--icon-color:var(--icon-color-default);opacity:var(--icon-start-opacity)}.copy-to-clipboard-container .state-icon--success kv-icon{--icon-color:var(--icon-color-success);--icon-background-color:var(--icon-background-color-success)}';export{p as kv_copy_to_clipboard}