2 lines
12 KiB
JavaScript
2 lines
12 KiB
JavaScript
import{_ as ae,d as _,e as R,c as U,o as x,q as u,aH as Ae,n as z,g as A,i as h,H as Pe,f as le,a as He,b as g,k as qe,h as W,C as Y,A as ee,N as te,m as O,u as oe,D as ge,G as Ce,aK as Me,F as Ve,ac as De,af as Fe,be as Be,t as Ne,l as Ke,$ as be,j as Z,bf as Te,Z as xe,ay as We,ap as Ue,aN as Ze,bg as Ge}from"./index-C4UKuwCQ.js";import{I as Je}from"./index-C8Ze-KO3.js";import{T as Oe}from"./index-B3Ic4ZHL.js";import{I as Le}from"./index-nprHl-Vj.js";import{R as we}from"./resize-observer-DsiuURlg.js";import{u as Qe}from"./use-merge-state-BIwn2CEf.js";import{P as Xe}from"./index-BM0JB0P6.js";const Ye=_({name:"TypographyEditContent",components:{Input:Je},props:{text:{type:String,required:!0}},emits:["change","end","update:text"],setup(e,{emit:t}){const n=[`${A("typography")}-edit-content`],a=h();function s(r){t("update:text",r),t("change",r)}function i(){t("end")}return Pe(()=>{if(!a.value||!a.value.$el)return;const r=a.value.$el.querySelector("input");if(!r)return;r.focus&&r.focus();const{length:d}=r.value;r.setSelectionRange(d,d)}),{classNames:n,inputRef:a,onBlur:i,onChange:s,onEnd:i}}});function et(e,t,o,n,a,s){const i=R("Input");return x(),U("div",{class:z(e.classNames)},[u(i,{ref:"inputRef","auto-size":"","model-value":e.text,onBlur:e.onBlur,onInput:e.onChange,onKeydown:Ae(e.onEnd,["enter"])},null,8,["model-value","onBlur","onInput","onKeydown"])],2)}var tt=ae(Ye,[["render",et]]);const ot=_({name:"IconCopy",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:t}){const o=A("icon"),n=g(()=>[o,`${o}-copy`,{[`${o}-spin`]:e.spin}]),a=g(()=>{const i={};return e.size&&(i.fontSize=qe(e.size)?`${e.size}px`:e.size),e.rotate&&(i.transform=`rotate(${e.rotate}deg)`),i});return{cls:n,innerStyle:a,onClick:i=>{t("click",i)}}}}),nt=["stroke-width","stroke-linecap","stroke-linejoin"],it=le("path",{d:"M20 6h18a2 2 0 0 1 2 2v22M8 16v24c0 1.105.891 2 1.996 2h20.007A1.99 1.99 0 0 0 32 40.008V15.997A1.997 1.997 0 0 0 30 14H10a2 2 0 0 0-2 2Z"},null,-1),lt=[it];function at(e,t,o,n,a,s){return x(),U("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:z(e.cls),style:He(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:t[0]||(t[0]=(...i)=>e.onClick&&e.onClick(...i))},lt,14,nt)}var ne=ae(ot,[["render",at]]);const st=Object.assign(ne,{install:(e,t)=>{var o;const n=(o=t==null?void 0:t.iconPrefix)!=null?o:"";e.component(n+ne.name,ne)}}),rt=_({name:"TypographyOperations",components:{Tooltip:Oe,IconCheckCircleFill:De,IconCopy:st,IconEdit:Le},props:{editable:Boolean,copyable:Boolean,expandable:Boolean,isCopied:Boolean,isEllipsis:Boolean,expanded:Boolean,forceRenderExpand:Boolean,editTooltipProps:Object,copyTooltipProps:Object},emits:{edit:()=>!0,copy:()=>!0,expand:()=>!0},setup(e,{emit:t}){const o=A("typography"),n=g(()=>e.forceRenderExpand||e.expandable&&e.isEllipsis),{t:a}=Fe();return{prefixCls:o,showExpand:n,t:a,onEditClick(){t("edit")},onCopyClick(){t("copy")},onExpandClick(){t("expand")}}}});function pt(e,t,o,n,a,s){const i=R("IconEdit"),r=R("Tooltip"),d=R("IconCheckCircleFill"),I=R("IconCopy");return x(),U(Ve,null,[e.editable?(x(),W(r,O({key:0,content:e.t("typography.edit")},e.editTooltipProps),{default:ee(()=>[le("span",{class:z(`${e.prefixCls}-operation-edit`),onClick:t[0]||(t[0]=te((...v)=>e.onEditClick&&e.onEditClick(...v),["stop"]))},[u(i)],2)]),_:1},16,["content"])):Y("v-if",!0),e.copyable?(x(),W(r,Me(O({key:1},e.copyTooltipProps)),{content:ee(()=>[oe(e.$slots,"copy-tooltip",{copied:e.isCopied},()=>[ge(Ce(e.isCopied?e.t("typography.copied"):e.t("typography.copy")),1)])]),default:ee(()=>[le("span",{class:z({[`${e.prefixCls}-operation-copied`]:e.isCopied,[`${e.prefixCls}-operation-copy`]:!e.isCopied}),onClick:t[1]||(t[1]=te((...v)=>e.onCopyClick&&e.onCopyClick(...v),["stop"]))},[oe(e.$slots,"copy-icon",{copied:e.isCopied},()=>[e.isCopied?(x(),W(d,{key:0})):(x(),W(I,{key:1}))])],2)]),_:3},16)):Y("v-if",!0),e.showExpand?(x(),U("a",{key:2,class:z(`${e.prefixCls}-operation-expand`),onClick:t[2]||(t[2]=te((...v)=>e.onExpandClick&&e.onExpandClick(...v),["stop"]))},[oe(e.$slots,"expand-node",{expanded:e.expanded},()=>[ge(Ce(e.expanded?e.t("typography.collapse"):e.t("typography.expand")),1)])],2)):Y("v-if",!0)],64)}var ke=ae(rt,[["render",pt]]);let p;function ut(e){return Array.prototype.slice.apply(e).map(o=>`${o}: ${e.getPropertyValue(o)};`).join("")}function ie(e){if(!e)return 0;const t=e.match(/^\d*(\.\d*)?/);return t?Number(t[0]):0}var ct=(e,t,o,n)=>{p||(p=document.createElement("div"),document.body.appendChild(p));const{rows:a,suffix:s,ellipsisStr:i}=t,r=window.getComputedStyle(e),d=ut(r),I=ie(r.lineHeight),v=Math.round(I*a+ie(r.paddingTop)+ie(r.paddingBottom));p.setAttribute("style",d),p.setAttribute("aria-hidden","true"),p.style.height="auto",p.style.minHeight="auto",p.style.maxHeight="auto",p.style.position="fixed",p.style.left="0",p.style.top="-99999999px",p.style.zIndex="-200",p.style.whiteSpace="normal";const H=Be({render(){return u("span",null,[o])}});H.mount(p);const G=Array.prototype.slice.apply(p.childNodes[0].cloneNode(!0).childNodes);H.unmount(),p.innerHTML="";const $=document.createTextNode(`${i}${s}`);p.appendChild($),G.forEach(m=>{p.appendChild(m)});const S=document.createTextNode(n);p.insertBefore(S,$);function f(){return p.offsetHeight<=v}if(f())return{ellipsis:!1,text:n};function c(m,w=0,P=n.length,q=0){const B=Math.floor((w+P)/2),J=n.slice(0,B);if(m.textContent=J,w>=P-1)for(let C=P;C>=w;C-=1){const k=n.slice(0,C);if(m.textContent=k,f()||!k)return}f()?c(m,B,P,B):c(m,w,B,q)}return c(S),{text:S.textContent,ellipsis:!0}};const dt=async e=>{var t;if((t=navigator.clipboard)!=null&&t.writeText)try{await navigator.clipboard.writeText(e);return}catch(s){console.error(s??new DOMException("The request is not allowed","NotAllowedError"))}const o=document.createElement("span");o.textContent=e,o.style.whiteSpace="pre",document.body.appendChild(o);const n=window.getSelection(),a=window.document.createRange();n==null||n.removeAllRanges(),a.selectNode(o),n==null||n.addRange(a);try{window.document.execCommand("copy")}catch(s){console.error(`execCommand Error: ${s}`)}n==null||n.removeAllRanges(),window.document.body.removeChild(o)};let N;function ft(e){if(!e)return"";N||(N=document.createElement("div"),N.setAttribute("aria-hidden","true"),document.body.appendChild(N));const t=Be({render(){return u("div",null,[e])}});t.mount(N);const o=N.innerText;return t.unmount(),o}var yt=Object.defineProperty,vt=Object.defineProperties,mt=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,ht=Object.prototype.hasOwnProperty,gt=Object.prototype.propertyIsEnumerable,$e=(e,t,o)=>t in e?yt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,Ct=(e,t)=>{for(var o in t||(t={}))ht.call(t,o)&&$e(e,o,t[o]);if(Ee)for(var o of Ee(t))gt.call(t,o)&&$e(e,o,t[o]);return e},bt=(e,t)=>vt(e,mt(t));function Ie(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Ze(e)}function Tt(e){const{bold:t,mark:o,underline:n,delete:a,code:s}=e,i=[];return t&&i.push("b"),n&&i.push("u"),a&&i.push("del"),s&&i.push("code"),o&&i.push("mark"),i}function Se(e,t){const{mark:o}=e,n=Tt(e),a=Z(o)&&o.color?{backgroundColor:o.color}:{};return n.reduce((s,i)=>u(i,i==="mark"?{style:a}:{},Ie(s)?s:{default:()=>[s]}),t)}function xt(e){const t=!!e.showTooltip,o=Z(e.showTooltip)&&e.showTooltip.type==="popover"?Xe:Oe,n=Z(e.showTooltip)&&e.showTooltip.props||{};return bt(Ct({rows:1,suffix:"",ellipsisStr:"...",expandable:!1,css:!1},Ue(e,["showTooltip"])),{showTooltip:t,TooltipComponent:o,tooltipProps:n})}var wt=_({name:"TypographyBase",inheritAttrs:!1,props:{component:{type:String,required:!0},type:{type:String},bold:{type:Boolean},mark:{type:[Boolean,Object],default:!1},underline:{type:Boolean},delete:{type:Boolean},code:{type:Boolean},disabled:{type:Boolean},editable:{type:Boolean},editing:{type:Boolean,default:void 0},defaultEditing:{type:Boolean},editText:{type:String},copyable:{type:Boolean},copyText:{type:String},copyDelay:{type:Number,default:3e3},ellipsis:{type:[Boolean,Object],default:!1},editTooltipProps:{type:Object},copyTooltipProps:{type:Object}},emits:{editStart:()=>!0,change:e=>!0,"update:editText":e=>!0,editEnd:()=>!0,"update:editing":e=>!0,copy:e=>!0,ellipsis:e=>!0,expand:e=>!0},setup(e,{slots:t,emit:o,attrs:n}){const{editing:a,defaultEditing:s,ellipsis:i,copyable:r,editable:d,copyText:I,editText:v,copyDelay:H,component:G}=Ne(e),$=A("typography"),S=g(()=>[$,{[`${$}-${e.type}`]:e.type,[`${$}-disabled`]:e.disabled}]),f=h(),c=h(""),[m,w]=Qe(s.value,Ke({value:a})),P=g(()=>d.value&&m.value);function q(){o("update:editing",!0),o("editStart"),w(!0)}function B(l){o("update:editText",l),o("change",l)}function J(){m.value&&(o("update:editing",!1),o("editEnd"),w(!1))}const C=h(!1);let k=null;function se(){var l;const T=(l=I.value)!=null?l:c.value;dt(T||""),C.value=!0,o("copy",T),k=setTimeout(()=>{C.value=!1},H.value)}be(()=>{k&&clearTimeout(k),k=null});const j=h(!1),b=h(!1),L=h(""),y=g(()=>xt(Z(i.value)&&i.value||{}));let Q=null;function re(){const l=!b.value;b.value=l,o("expand",l)}function pe(l=!1){return y.value.css?u(ke,{editable:d.value,copyable:r.value,expandable:y.value.expandable,isCopied:C.value,isEllipsis:D.value,expanded:b.value,forceRenderExpand:l||b.value,editTooltipProps:e.editTooltipProps,copyTooltipProps:e.copyTooltipProps,onEdit:q,onCopy:se,onExpand:re},{"copy-tooltip":t["copy-tooltip"],"copy-icon":t["copy-icon"],"expand-node":t["expand-node"]}):u(ke,{editable:d.value,copyable:r.value,expandable:y.value.expandable,isCopied:C.value,isEllipsis:j.value,expanded:b.value,forceRenderExpand:l,editTooltipProps:e.editTooltipProps,copyTooltipProps:e.copyTooltipProps,onEdit:q,onCopy:se,onExpand:re},{"copy-tooltip":t["copy-tooltip"],"copy-icon":t["copy-icon"],"expand-node":t["expand-node"]})}function je(){if(!f.value)return;const{ellipsis:l,text:T}=ct(f.value,y.value,pe(!!y.value.expandable),c.value);j.value!==l&&(j.value=l,y.value.css||o("ellipsis",l)),L.value!==T&&(L.value=T||"")}function M(){i.value&&!b.value&&(Te(Q),Q=Ge(()=>{je()}))}be(()=>{Te(Q)}),xe(()=>y.value.rows,()=>{M()}),xe(i,l=>{l?M():j.value=!1});let V=[];const ue=()=>{if(i.value||r.value||d.value){const l=ft(V);l!==c.value&&(c.value=l,M())}};Pe(ue),We(ue);const X=h(),D=h(!1),ce=()=>{if(f.value&&X.value){const l=X.value.offsetHeight>f.value.offsetHeight;l!==D.value&&(D.value=l,o("ellipsis",l))}},Re=g(()=>b.value?{}:{overflow:"hidden","text-overflow":"ellipsis",display:"-webkit-box","-webkit-line-clamp":y.value.rows,"-webkit-box-orient":"vertical"});return()=>{var l,T;if(V=((l=t.default)==null?void 0:l.call(t))||[],P.value){const K=(T=v.value)!=null?T:c.value;return u(tt,{text:K,onChange:E=>{E!==K&&B(E)},onEnd:J},null)}const{suffix:ze,ellipsisStr:_e,showTooltip:de,tooltipProps:fe,TooltipComponent:ye}=y.value,F=j.value&&!b.value,ve=F&&!de?{title:c.value}:{},me=G.value;if(y.value.css){const K=Se(e,V),E=u(me,O({class:S.value,ref:f,style:Re.value},ve,n),{default:()=>[u("span",{ref:X},[K])]});return D.value?u(ye,O(fe,{onResize:()=>ce()}),{default:()=>[E],content:()=>c.value}):u(we,{onResize:()=>{ce()}},Ie(E)?E:{default:()=>[E]})}const he=Se(e,F?L.value:V);return u(we,{onResize:()=>M()},{default:()=>[u(me,O({class:S.value,ref:f},ve,n),{default:()=>[F&&de?u(ye,fe,{default:()=>[u("span",null,[he])],content:()=>c.value}):he,F?_e:null,ze,pe()]})]})}}}),Ot=_({name:"TypographyParagraph",inheritAttrs:!1,props:{blockquote:{type:Boolean},spacing:{type:String,default:"default"}},setup(e){const{blockquote:t,spacing:o}=Ne(e),n=A("typography"),a=g(()=>t!=null&&t.value?"blockquote":"div"),s=g(()=>[{[`${n}-spacing-close`]:(o==null?void 0:o.value)==="close"}]);return{component:a,classNames:s}},render(){const{component:e,classNames:t}=this;return u(wt,O({class:t},this.$attrs,{component:e}),this.$slots)}});export{Ot as T};
|