UNPKG

ll-package

Version:

2 lines (1 loc) 8.36 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const be=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),v=require("../../../@babel/runtime/helpers/esm/extends.js"),i=require("vue"),ve=require("../locale/LocaleReceiver.js"),W=require("../_util/warning.js"),A=require("../_util/transButton.js"),I=require("../_util/raf.js"),H=require("../_util/styleChecker.js"),xe=require("./Editable.js"),ge=require("./util.js"),Ce=require("./Typography.js"),Se=require("../vc-resize-observer/index.js"),V=require("../tooltip/index.js"),me=require("../_util/copy-to-clipboard/index.js"),he=require("../../../@ant-design/icons-vue/es/icons/CheckOutlined.js"),Ee=require("../../../@ant-design/icons-vue/es/icons/CopyOutlined.js"),Te=require("../../../@ant-design/icons-vue/es/icons/EditOutlined.js"),Oe=require("../config-provider/hooks/useConfigInject.js"),Ne=require("../_util/omit.js"),ke=require("../_util/hooks/useMergedState.js"),B=require("../_util/props-util/index.js");var qe=function(l,E){var a={};for(var c in l)Object.prototype.hasOwnProperty.call(l,c)&&E.indexOf(c)<0&&(a[c]=l[c]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var f=0,c=Object.getOwnPropertySymbols(l);f<c.length;f++)E.indexOf(c[f])<0&&Object.prototype.propertyIsEnumerable.call(l,c[f])&&(a[c[f]]=l[c[f]]);return a};const we=H.isStyleSupport("webkitLineClamp"),Ie=H.isStyleSupport("textOverflow"),G="...",J=()=>({editable:{type:[Boolean,Object],default:void 0},copyable:{type:[Boolean,Object],default:void 0},prefixCls:String,component:String,type:String,disabled:{type:Boolean,default:void 0},ellipsis:{type:[Boolean,Object],default:void 0},code:{type:Boolean,default:void 0},mark:{type:Boolean,default:void 0},underline:{type:Boolean,default:void 0},delete:{type:Boolean,default:void 0},strong:{type:Boolean,default:void 0},keyboard:{type:Boolean,default:void 0},content:String,"onUpdate:content":Function}),Ve=i.defineComponent({compatConfig:{MODE:3},name:"TypographyBase",inheritAttrs:!1,props:J(),setup(l,E){let{slots:a,attrs:c,emit:f}=E;const{prefixCls:s,direction:_}=Oe.default("typography",l),n=i.reactive({copied:!1,ellipsisText:"",ellipsisContent:null,isEllipsis:!1,expanded:!1,clientRendered:!1,expandStr:"",copyStr:"",copiedStr:"",editStr:"",copyId:void 0,rafId:void 0,prevProps:void 0,originContent:""}),T=i.ref(),$=i.ref(),x=i.computed(()=>{const e=l.ellipsis;return e?v.default({rows:1,expandable:!1},typeof e=="object"?e:null):{}});i.onMounted(()=>{n.clientRendered=!0,R()}),i.onBeforeUnmount(()=>{clearTimeout(n.copyId),I.default.cancel(n.rafId)}),i.watch([()=>x.value.rows,()=>l.content],()=>{i.nextTick(()=>{M()})},{flush:"post",deep:!0}),i.watchEffect(()=>{l.content===void 0&&(W.default(!l.editable,"Typography","When `editable` is enabled, please use `content` instead of children"),W.default(!l.ellipsis,"Typography","When `ellipsis` is enabled, please use `content` instead of children"))});function K(){var e;return l.ellipsis||l.editable?l.content:(e=B.findDOMNode(T.value))===null||e===void 0?void 0:e.innerText}function Q(e){const{onExpand:t}=x.value;n.expanded=!0,t==null||t(e)}function j(e){e.preventDefault(),n.originContent=l.content,q(!0)}function X(e){P(e),q(!1)}function P(e){const{onChange:t}=g.value;e!==l.content&&(f("update:content",e),t==null||t(e))}function Y(){var e,t;(t=(e=g.value).onCancel)===null||t===void 0||t.call(e),q(!1)}function Z(e){e.preventDefault(),e.stopPropagation();const{copyable:t}=l,o=v.default({},typeof t=="object"?t:null);o.text===void 0&&(o.text=K()),me.default(o.text||""),n.copied=!0,i.nextTick(()=>{o.onCopy&&o.onCopy(e),n.copyId=setTimeout(()=>{n.copied=!1},3e3)})}const g=i.computed(()=>{const e=l.editable;return e?v.default({},typeof e=="object"?e:null):{editing:!1}}),[L,ee]=ke.default(!1,{value:i.computed(()=>g.value.editing)});function q(e){const{onStart:t}=g.value;e&&t&&t(),ee(e)}i.watch(L,e=>{var t;e||(t=$.value)===null||t===void 0||t.focus()},{flush:"post"});function M(e){if(e){const{width:t,height:o}=e;if(!t||!o)return}I.default.cancel(n.rafId),n.rafId=I.default(()=>{R()})}const D=i.computed(()=>{const{rows:e,expandable:t,suffix:o,onEllipsis:d,tooltip:r}=x.value;return o||r||l.editable||l.copyable||t||d?!1:e===1?Ie:we}),R=()=>{const{ellipsisText:e,isEllipsis:t}=n,{rows:o,suffix:d,onEllipsis:r}=x.value;if(!o||o<0||!B.findDOMNode(T.value)||n.expanded||l.content===void 0||D.value)return;const{content:p,text:C,ellipsis:b}=ge.default(B.findDOMNode(T.value),{rows:o,suffix:d},l.content,F(!0),G);(e!==C||n.isEllipsis!==b)&&(n.ellipsisText=C,n.ellipsisContent=p,n.isEllipsis=b,t!==b&&r&&r(b))};function te(e,t){let{mark:o,code:d,underline:r,delete:p,strong:C,keyboard:b}=e,h=t;function y(O,u){if(!O)return;const N=function(){return h}();h=i.createVNode(u,null,{default:()=>[N]})}return y(C,"strong"),y(r,"u"),y(p,"del"),y(d,"code"),y(o,"mark"),y(b,"kbd"),h}function ne(e){const{expandable:t,symbol:o}=x.value;if(!t||!e&&(n.expanded||!n.isEllipsis))return null;const d=(a.ellipsisSymbol?a.ellipsisSymbol():o)||n.expandStr;return i.createVNode("a",{key:"expand",class:`${s.value}-expand`,onClick:Q,"aria-label":n.expandStr},[d])}function le(){if(!l.editable)return;const{tooltip:e,triggerType:t=["icon"]}=l.editable,o=a.editableIcon?a.editableIcon():i.createVNode(Te.default,{role:"button"},null),d=a.editableTooltip?a.editableTooltip():n.editStr,r=typeof d=="string"?d:"";return t.indexOf("icon")!==-1?i.createVNode(V.default,{key:"edit",title:e===!1?"":d},{default:()=>[i.createVNode(A.default,{ref:$,class:`${s.value}-edit`,onClick:j,"aria-label":r},{default:()=>[o]})]}):null}function ie(){if(!l.copyable)return;const{tooltip:e}=l.copyable,t=n.copied?n.copiedStr:n.copyStr,o=a.copyableTooltip?a.copyableTooltip({copied:n.copied}):t,d=typeof o=="string"?o:"",r=n.copied?i.createVNode(he.default,null,null):i.createVNode(Ee.default,null,null),p=a.copyableIcon?a.copyableIcon({copied:!!n.copied}):r;return i.createVNode(V.default,{key:"copy",title:e===!1?"":o},{default:()=>[i.createVNode(A.default,{class:[`${s.value}-copy`,{[`${s.value}-copy-success`]:n.copied}],onClick:Z,"aria-label":d},{default:()=>[p]})]})}function oe(){const{class:e,style:t}=c,{maxlength:o,autoSize:d,onEnd:r}=g.value;return i.createVNode(xe.default,{class:e,style:t,prefixCls:s.value,value:l.content,originContent:n.originContent,maxlength:o,autoSize:d,onSave:X,onChange:P,onCancel:Y,onEnd:r,direction:_.value,component:l.component},{enterIcon:a.editableEnterIcon})}function F(e){return[ne(e),le(),ie()].filter(t=>t)}return()=>{var e;const{triggerType:t=["icon"]}=g.value,o=l.ellipsis||l.editable?l.content!==void 0?l.content:(e=a.default)===null||e===void 0?void 0:e.call(a):a.default?a.default():l.content;return L.value?oe():i.createVNode(ve.default,{componentName:"Text",children:d=>{const r=v.default(v.default({},l),c),{type:p,disabled:C,content:b,class:h,style:y}=r,O=qe(r,["type","disabled","content","class","style"]),{rows:u,suffix:N,tooltip:w}=x.value,{edit:ae,copy:de,copied:re,expand:ce}=d;n.editStr=ae,n.copyStr=de,n.copiedStr=re,n.expandStr=ce;const se=Ne.default(O,["prefixCls","editable","copyable","ellipsis","mark","code","delete","underline","strong","keyboard","onUpdate:content"]),k=D.value,ue=u===1&&k,U=u&&u>1&&k;let S=o,fe;if(u&&n.isEllipsis&&!n.expanded&&!k){const{title:z}=O;let m=z||"";!z&&(typeof o=="string"||typeof o=="number")&&(m=String(o)),m=m==null?void 0:m.slice(String(n.ellipsisContent||"").length),S=i.createVNode(i.Fragment,null,[i.toRaw(n.ellipsisContent),i.createVNode("span",{title:m,"aria-hidden":"true"},[G]),N])}else S=i.createVNode(i.Fragment,null,[o,N]);S=te(l,S);const pe=w&&u&&n.isEllipsis&&!n.expanded&&!k,ye=a.ellipsisTooltip?a.ellipsisTooltip():w;return i.createVNode(Se.default,{onResize:M,disabled:!u},{default:()=>[i.createVNode(Ce.default,be.default({ref:T,class:[{[`${s.value}-${p}`]:p,[`${s.value}-disabled`]:C,[`${s.value}-ellipsis`]:u,[`${s.value}-single-line`]:u===1&&!n.isEllipsis,[`${s.value}-ellipsis-single-line`]:ue,[`${s.value}-ellipsis-multiple-line`]:U},h],style:v.default(v.default({},y),{WebkitLineClamp:U?u:void 0}),"aria-label":fe,direction:_.value,onClick:t.indexOf("text")!==-1?j:()=>{}},se),{default:()=>[pe?i.createVNode(V.default,{title:w===!0?o:ye},{default:()=>[i.createVNode("span",null,[S])]}):S,F()]})]})}},null)}}}),Be=Ve;exports.baseProps=J;exports.default=Be;