@kelvininc/ui-components
Version:
Kelvin UI Components
1 lines • 3.03 kB
JavaScript
import{r as o,h as t,H as i}from"./p-D-JVwta2.js";import{o as c}from"./p-CJTtq_QG.js";import{E as a}from"./p-SVedE_O8.js";import{b as r}from"./p-DzZLIMy0.js";import"./p-DwRzddFC.js";import"./p-DVds6a5Z.js";import"./p-CojoW2Y2.js";import"./p-BcMhjKoS.js";import"./p-Do0EyoO8.js";import"./p-CBuzk8fR.js";import"./p-DHk26cGe.js";import"./p-7ioMFMb5.js";import{a as e}from"./p-CMuIy_Ah.js";import"./p-DjSNdVAB.js";var s;!function(o){o.ReadyToCopy="ready-to-copy",o.Copied="copied"}(s||(s={}));const n={[s.ReadyToCopy]:a.CopyClipboard,[s.Copied]:a.Success},p={placement:r.BottomEnd,middleware:[c({mainAxis:4,crossAxis:-8})]},d=class{constructor(t){o(this,t),this.tooltipDelay=500,this.tooltipConfig=p,this.copyState=s.ReadyToCopy,this.onTextCopy=async o=>{if(o.stopPropagation(),this.copyState!==s.Copied)try{await e(this.copiableText),this.copyState=s.Copied,setTimeout((()=>this.copyState=s.ReadyToCopy),2e3)}catch(o){throw new Error("Unable to copy to clipboard")}}}get tooltipText(){return this.copyState===s.Copied?"Copied":`Copy ${this.tooltipSuffix||""}`.trim()}render(){return t(i,{key:"a5d2d5b38e1f0f0ce1161ba1194560f5c9f84ae7"},t("kv-tooltip",{key:"410df1ea814f846522a0bc680edf2856125bde91",text:this.tooltipText,options:this.tooltipConfig,delay:this.tooltipDelay,onClick:this.onTextCopy},t("div",{key:"3074a8864deaf1daa4234ed267487fb3dfd7fcd9",part:"content",class:"copy-to-clipboard-container"},t("slot",{key:"282f41272909ce3d2e6912255de4b898e2defb68"}),t("div",{key:"febbbee3dd524d835efbe3389e3e37af812d1e56",class:{"state-icon":!0,"state-icon--success":this.copyState===s.Copied}},t("kv-icon",{key:"a08a9c182cee0f7b40ac2ffc9e0eb6d4b358d91c",name:n[this.copyState],part:"icon"})))))}};d.style='@property --rotation{syntax:"<angle>";initial-value:0deg;inherits:false}@keyframes rotate-border{to{--rotation:360deg}}:host{--container-width:100%;--container-padding:var(--kv-spacing-2x, 8px);--container-hover-background-color:kv-color("neutral-6");--container-gap:var(--kv-spacing-2x, 8px);--icon-start-opacity:0;--icon-color-default:var(--kv-neutral-2, #e5e5e5);--icon-color-success:var(--kv-success, #05a357);--icon-background-color-success:var(--kv-neutral-0, #fff);--icon-size:16px}.copy-to-clipboard-container{width:var(--container-width);display:flex;justify-content:space-between;align-items:center;border-radius:4px;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{d as kv_copy_to_clipboard}