@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
4 lines (3 loc) • 29.7 kB
JavaScript
(function(R,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../common/index.umd.js"],n):(R=typeof globalThis<"u"?globalThis:R||self,n(R.progress={},R.Vue,R.LodashES,R.dynamicResolver,R.common))})(this,function(R,n,z,ne,oe){"use strict";function U(e,t){let r;function a(i){const{properties:c,title:g,ignore:o}=i,s=o&&Array.isArray(o),f=Object.keys(c).reduce((l,v)=>((!s||!o.find($=>$===v))&&(l[v]=c[v].type==="object"&&c[v].properties?a(c[v]):z.cloneDeep(c[v].default)),l),{});if(g&&(!s||!o.find(l=>l==="id"))){const l=g.toLowerCase().replace(/-/g,"_");f.id=`${l}_${Math.random().toString().slice(2,6)}`}return f}function k(i){const{properties:c,title:g,required:o}=i;if(o&&Array.isArray(o)){const s=o.reduce((f,l)=>(f[l]=c[l].type==="object"&&c[l].properties?a(c[l]):z.cloneDeep(c[l].default),f),{});if(g&&o.find(f=>f==="id")){const f=g.toLowerCase().replace(/-/g,"_");s.id=`${f}_${Math.random().toString().slice(2,6)}`}return s}return{type:g}}function T(i,c={},g){const o=e[i];if(o){let s=k(o);const f=t[i];return s=f?f({getSchemaByType:T},s,c,g):s,r!=null&&r.appendIdentifyForNewControl&&r.appendIdentifyForNewControl(s),s}return null}function h(i,c){const g=a(c);return Object.keys(g).reduce((o,s)=>(Object.prototype.hasOwnProperty.call(i,s)&&(o[s]&&z.isPlainObject(o[s])&&z.isPlainObject(i[s]||!i[s])?Object.assign(o[s],i[s]||{}):o[s]=i[s]),o),g),g}function P(i,c){return Object.keys(i).filter(o=>i[o]!=null).reduce((o,s)=>{if(c.has(s)){const f=c.get(s);if(typeof f=="string")o[f]=i[s];else{const l=f(s,i[s],i);Object.assign(o,l)}}else o[s]=i[s];return o},{})}function N(i,c,g=new Map){const o=h(i,c);return P(o,g)}function u(i){var g;const c=i.type;if(c){const o=e[c];if(!o)return i;const s=h(i,o),f=((g=i.editor)==null?void 0:g.type)||"";if(f){const l=e[f],v=h(i.editor,l);s.editor=v}return s}return i}function m(i){r=i}return{getSchemaByType:T,resolveSchemaWithDefaultValue:u,resolveSchemaToProps:N,mappingSchemaToProps:P,setDesignerContext:m}}const x={},X={},{getSchemaByType:Ze,resolveSchemaWithDefaultValue:se,resolveSchemaToProps:ie,mappingSchemaToProps:ae,setDesignerContext:Ie}=U(x,X);function ce(e={}){function t(u,m,i,c){if(typeof i=="number")return c[u].length===i;if(typeof i=="object"){const g=Object.keys(i)[0],o=i[g];if(g==="not")return Number(c[u].length)!==Number(o);if(g==="moreThan")return Number(c[u].length)>=Number(o);if(g==="lessThan")return Number(c[u].length)<=Number(o)}return!1}function r(u,m,i,c){return c[u]&&c[u].propertyValue&&String(c[u].propertyValue.value)===String(i)}const a=new Map([["length",t],["getProperty",r]]);Object.keys(e).reduce((u,m)=>(u.set(m,e[m]),u),a);function k(u,m){const i=u;return typeof m=="number"?[{target:i,operator:"length",param:null,value:Number(m)}]:typeof m=="boolean"?[{target:i,operator:"getProperty",param:u,value:!!m}]:typeof m=="object"?Object.keys(m).map(c=>{if(c==="length")return{target:i,operator:"length",param:null,value:m[c]};const g=c,o=m[c];return{target:i,operator:"getProperty",param:g,value:o}}):[]}function T(u){return Object.keys(u).reduce((i,c)=>{const g=k(c,u[c]);return i.push(...g),i},[])}function h(u,m){if(a.has(u.operator)){const i=a.get(u.operator);return i&&i(u.target,u.param,u.value,m)||!1}return!1}function P(u,m){return T(u).reduce((g,o)=>g&&h(o,m),!0)}function N(u,m){const i=Object.keys(u),c=i.includes("allOf"),g=i.includes("anyOf"),o=c||g,l=(o?u[o?c?"allOf":"anyOf":"allOf"]:[u]).map($=>P($,m));return c?!l.includes(!1):l.includes(!0)}return{parseValueSchema:N}}const le={convertTo:(e,t,r,a)=>{e.appearance||(e.appearance={}),e.appearance[t]=r},convertFrom:(e,t,r)=>e.appearance?e.appearance[t]:e[t]},ue={convertFrom:(e,t,r)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},fe={convertTo:(e,t,r,a)=>{e.editor&&(e.editor[t]=r)},convertFrom:(e,t,r)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,t)?e.editor[t]:e[t]},Y={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"}},pe={convertFrom:(e,t,r)=>{var k;const a=e.editor&&e.editor[t]?e.editor[t]:e[t];return((k=Y[a])==null?void 0:k.name)||a}},de={convertTo:(e,t,r,a)=>{e[t]=e[t]},convertFrom:(e,t,r)=>e.editor?r.getRealEditorType(e.editor.type):""},me={convertTo:(e,t,r,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[t]=r:e.formatter={[t]:r})},convertFrom:(e,t,r)=>{if(e.formatter){if(t==="trueText")return e.formatter.trueText;if(t==="falseText")return e.formatter.falseText;if(t==="prefix")return e.formatter.prefix;if(t==="suffix")return e.formatter.suffix;if(t==="precision")return e.formatter.precision;if(t==="decimal")return e.formatter.decimal;if(t==="thousand")return e.formatter.thousand;if(t==="tempDateFormat")return e.formatter.dateFormat==="yyyy年MM月dd日"?"yearMonthDay":e.formatter.dateFormat==="yyyy-MM-dd HH:mm:ss"?"yyyy-MM-ddTHH:mm:ss":e.formatter.dateFormat==="yyyy/MM/dd HH:mm:ss"?"yyyy/MM/ddTHH:mm:ss":e.formatter.dateFormat==="yyyy年MM月dd日 HH时mm分ss秒"?"yearMonthDayHourMinuteSecond":e.formatter.tempDateFormat||e.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return e.formatter.customFormat;if(t==="type")return e.formatter.type||"none"}return"none"}},ge={convertTo:(e,t,r,a)=>{e.command?e.command[t]=r:e.command={[t]:r},t==="enable"&&r&&(e.command.commands||(e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]))},convertFrom:(e,t,r)=>e.command&&t==="enable"?e.command.enable:""},ye={convertTo:(e,t,r,a)=>{e.column?e.column[t]=r:e.column={[t]:r},t==="fitColumns"&&r&&(e.column.fitMode||(e.column.fitMode="average"))},convertFrom:(e,t,r)=>{if(e.column){if(t==="fitColumns")return e.column.fitColumns;if(t==="fitMode")return e.column.fitMode}return""}},ve={convertTo:(e,t,r,a)=>{e.summary?e.summary[t]=r:e.summary={[t]:r},t==="enable"&&r&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:r,groupFields:[]})},convertFrom:(e,t,r)=>e.summary&&t==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""},be={convertTo:(e,t,r,a)=>{e.group?e.group[t]=r:e.group={[t]:r},t==="enable"&&r&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:r,groupFields:[],showSummary:!1})},convertFrom:(e,t,r)=>{if(e.group){if(t==="enable")return e.group.enable;if(t==="showSummary")return e.group.showSummary}}},he={convertFrom:(e,t)=>e.binding?e.binding.path:"",convertTo:(e,t,r)=>{if(r&&r.length>0){const a=r[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=a.bindingField,e.binding.field=a.id,e.binding.fullPath=a.path,e.path=a.bindingPath}}},Se={convertTo:(e,t,r,a)=>{e.pagination||(e.pagination={}),e.pagination[t]=r},convertFrom:(e,t,r)=>e.pagination?e.pagination[t]:e[t]},ke={convertTo:(e,t,r,a)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[t]=r},convertFrom:(e,t,r)=>e.rowNumber?e.rowNumber[t]:e[t]},Pe={convertTo:(e,t,r,a)=>{e.selection||(e.selection={}),e.selection[t]=r},convertFrom:(e,t,r)=>e.selection?e.selection[t]:e[t]},Te={convertFrom:(e,t,r)=>e[t]&&e[t].length?`共 ${e[t].length} 项`:""},$e={convertFrom:(e,t)=>e[t]||"",convertTo:(e,t,r)=>{e[t]=r}},we={convertTo:(e,t,r,a)=>{e.size||(e.size={}),e.size[t]=r},convertFrom:(e,t,r)=>e.size?e.size[t]:e[t]},Fe={convertFrom:(e,t,r)=>{var a,k;return(a=e.formatter)!=null&&a.data&&t==="formatterEnumData"&&!e.formatterEnumData?(k=e.formatter)==null?void 0:k.data:e.formatterEnumData}},Ne={convertTo:(e,t,r,a)=>{e.sort||(e.sort={}),e.sort[t]=r},convertFrom:(e,t,r)=>{var a,k;if(t==="mode")return((a=e.sort)==null?void 0:a.mode)||"client";if(t==="multiSort")return!!((k=e.sort)!=null&&k.multiSort)}},Oe={convertTo:(e,t,r,a)=>{e.filter||(e.filter={}),e.filter[t]=r},convertFrom:(e,t,r)=>{var a;if(t==="mode")return((a=e.filter)==null?void 0:a.mode)||"client"}},je={convertTo:(e,t,r,a)=>{e.rowOption?e.rowOption[t]=r:e.rowOption={[t]:r}},convertFrom:(e,t,r)=>{if(e.rowOption){if(t==="customRowStyle")return e.rowOption.customRowStyle;if(t==="customCellStyle")return e.rowOption.customCellStyle}return""}};function J(e,t,r){const a=new Map([["/converter/appearance.converter",le],["/converter/buttons.converter",ue],["/converter/property-editor.converter",fe],["/converter/items-count.converter",Te],["/converter/type.converter",pe],["/converter/change-editor.converter",de],["/converter/change-formatter.converter",me],["/converter/column-command.converter",ge],["/converter/column-option.converter",ye],["/converter/summary.converter",ve],["/converter/group.converter",be],["/converter/form-group-label.converter",$e],["/converter/field-selector.converter",he],["/converter/pagination.converter",Se],["/converter/row-number.converter",ke],["/converter/grid-selection.converter",Pe],["/converter/size.converter",we],["/converter/change-formatter-enum.converter",Fe],["/converter/grid-sort.converter",Ne],["/converter/grid-filter.converter",Oe],["/converter/row-option.converter",je]]),k=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),T=ce();function h(o,s){return()=>T.parseValueSchema(o,s)}function P(o,s,f){return o.includes("visible")&&s.visible!==void 0?typeof s.visible=="boolean"?()=>!!s.visible:s.visible===void 0?!0:h(s.visible,f):()=>!0}function N(o,s,f){return o.includes("readonly")&&s.readonly!==void 0?typeof s.readonly=="boolean"?()=>!!s.readonly:h(s.readonly,f):()=>!1}function u(o,s){const f=o.$converter||s;return typeof f=="string"&&f&&a.has(f)?a.get(f)||null:f||null}function m(o,s,f,l,v,$="",O=""){return Object.keys(o).map(S=>{const D=n.ref(1),E=S,d=o[S],B=Object.keys(d),V=d.title,p=d.type,y=k.get(p)||{type:"input-group",enableClear:!1},b=d.editor?Object.assign({},y,d.editor):Object.assign({},y),w=P(B,d,s),M=N(B,d,s);b.readonly=b.readonly===void 0?M():b.readonly;const F=d.type==="cascade"?m(d.properties,s,f,l,v,$,O):[],G=!0;let C=u(d,O);const W=n.computed({get(){if(D.value){if(["class","style"].find(Qe=>Qe===E)&&!C&&(C=a.get("/converter/appearance.converter")||null),C&&C.convertFrom)return C.convertFrom(f,S,v,$);const L=f[S];return Object.prototype.hasOwnProperty.call(d,"defaultValue")&&(L===void 0||typeof L=="string"&&L==="")?d.type==="boolean"?d.defaultValue:d.defaultValue||"":L}return null},set(L){D.value+=1,C&&C.convertTo?(C.convertTo(l,S,L,v,$),C.convertTo(f,S,L,v,$)):(l[S]=L,f[S]=L)}}),{refreshPanelAfterChanged:q,description:Xe,isExpand:Ye,parentPropertyID:Je}=d,re={propertyID:E,propertyName:V,propertyType:p,propertyValue:W,editor:b,visible:w,readonly:M,cascadeConfig:F,hideCascadeTitle:G,refreshPanelAfterChanged:q,description:Xe,isExpand:Ye,parentPropertyID:Je};return s[E]=re,re})}function i(o,s,f={}){const l={},v=e[o];return v&&v.categories?Object.keys(v.categories).map(O=>{const j=v.categories[O],S=j==null?void 0:j.title,D=m(j.properties||{},l,{},f,s);return{categoryId:O,categoryName:S,properties:D}}):[]}function c(o,s,f,l,v=""){const $=s.$ref.schema,O=s.$ref.converter,j=f[$],S=j.type,D=r(j),E={},d=e[S];if(d&&d.categories){const B=d.categories[o],V=B==null?void 0:B.title;O&&Object.keys(B.properties).forEach(b=>{B.properties[b].$converter=O});const p=(B==null?void 0:B.properties)||{},y=m(p,E,D,j,l,v);return{categoryId:o,categoryName:V,properties:y}}return{categoryId:o,categoryName:"",properties:[]}}function g(o,s,f,l,v){const $=o.type,O=r(o),j={};let S=v||e[$];if(S&&Object.keys(S).length===0&&f&&f.getPropConfig&&(S=f.getPropConfig(l)),S&&S.categories){const D=[];return Object.keys(S.categories).map(E=>{const d=S.categories[E];if(d.$ref){D.push(c(E,d,o,s,l));return}const B=d==null?void 0:d.title,V=d==null?void 0:d.tabId,p=d==null?void 0:d.tabName,y=d==null?void 0:d.hide,b=d==null?void 0:d.hideTitle,w=m(d.properties||{},j,O,o,s,l,d.$converter),{setPropertyRelates:M}=d,F=d==null?void 0:d.parentPropertyID;D.push({categoryId:E,categoryName:B,tabId:V,tabName:p,hide:y,properties:w,hideTitle:b,setPropertyRelates:M,parentPropertyID:F})}),D}return[]}return{getPropertyConfigBySchema:g,getPropertyConfigByType:i,propertyConverterMap:a}}const Q={},Z={};J(Q,Z,se);const I={},K={},{getSchemaByType:Ke,resolveSchemaWithDefaultValue:Me,resolveSchemaToProps:et,mappingSchemaToProps:tt,setDesignerContext:rt}=U(I,K),ee={},te={};J(ee,te,Me);function De(e,t,r=new Map,a=(h,P,N,u)=>P,k={},T=h=>h){return x[t.title]=t,X[t.title]=a,Q[t.title]=k,Z[t.title]=T,I[t.title]=t,K[t.title]=a,ee[t.title]=k,te[t.title]=T,(h={},P=!0)=>{if(!P)return ae(h,r);const N=ie(h,t,r),u=Object.keys(e).reduce((m,i)=>(m[i]=e[i].default,m),{});return Object.assign(u,N)}}function Be(e,t){return{customClass:t.class,customStyle:t.style}}const Ee=new Map([["appearance",Be]]);function Ce(e,t,r){return t}const Re={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/progress.schema.json",title:"progress",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for progress",type:"string"},type:{description:"The type string of progress",type:"string",default:"progress"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},Ve={title:"progress",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},H={progressType:{type:String,default:"line"},strokeWidth:{type:Number,default:0},size:{type:String,default:"default"},showInfo:{type:Boolean,default:!0},progressStatus:{type:String,default:"default"},successPercent:{type:Number,default:0},strokeColor:{type:String,default:""},strokeLinecap:{type:String,default:"round"},width:{type:Number,default:100},percent:{type:Number,default:20},enableBackgroundImg:{type:Boolean,default:!1},backgroundImg:{type:String,default:""},gapPosition:{type:String},gapDegree:{type:Number,default:0},format:{type:Function,default:(e,t)=>`${e}%`}},_=De(H,Re,Ee,Ce,Ve);function Ge(e){function t(h){return+h.replace("%","")}function r(h){let P=[];return Object.keys(h).forEach(N=>{const u=h[N],m=t(N);isNaN(m)||P.push({key:m,value:u})}),P=P.sort((N,u)=>N.key-u.key),P}const a=n.computed(()=>!!e.strokeColor&&typeof e.strokeColor!="string"),k=n.computed(()=>{const{from:h="#59a1ff",to:P="#59a1ff",direction:N="to right",...u}=e.strokeColor;if(Object.keys(u).length!==0){const m=r(u).map(({key:i,value:c})=>`${c} ${i}%`).join(", ");return`linear-gradient(${N}, ${m})`}return`linear-gradient(${N}, ${h}, ${P})`}),T=n.computed(()=>r(e.strokeColor).map(({key:h,value:P})=>({offset:`${h}%`,color:P})));return{isGradient:a,linearGradient:k,circleGradient:T}}function We(e){return{strokeWidth:n.computed(()=>e.strokeWidth||(e.progressType==="line"&&e.size!=="small"?8:6))}}function Le(e){return{formatPercentageText:n.computed(()=>e.format(e.percent,e.successPercent))}}function qe(e,t,r,a){const{isCircleStyle:k}=t,{isGradient:T,linearGradient:h}=r,{strokeWidth:P}=a,N=n.computed(()=>{const l={"f-progress":!0,"f-progress-line":e.progressType==="line","ant-progress-small":e.size==="small","f-progress-show-info":e.showInfo,"f-progress-circle":k.value},v=`f-progress-status-${e.progressStatus}`;return l[v]=!0,l}),u=n.computed(()=>({width:`${e.width}px`,height:`${e.width}px`,"font-size":`${e.width*.15+6}px`,"f-progress-circle-gradient":T.value})),m=n.computed(()=>({"f-progress-inner":!0,"f-progress-circle-gradient":T.value})),i=0,c=n.computed(()=>i+1),g=n.computed(()=>{const l=50-P.value/2,v=e.gapPosition||(e.progressType==="circle"?"top":"bottom");let $=0,O=-l,j=0,S=l*-2;switch(v){case"left":$=-l,O=0,j=l*2,S=0;break;case"right":$=l,O=0,j=l*-2,S=0;break;case"bottom":O=l,S=l*2;break}return`M 50,50 m ${$},${O}
a ${l},${l} 0 1 1 ${j},${-S}
a ${l},${l} 0 1 1 ${-j},${S}`}),o=n.computed(()=>{const l=50-P.value/2,v=Math.PI*2*l,$=e.gapDegree||(e.progressType==="circle"?0:75);return{strokeDasharray:`${v-$}px ${v}px`,strokeDashoffset:`-${$/2}px`,transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s"}}),s=n.computed(()=>{const l=50-P.value/2,v=Math.PI*2*l,$=e.gapDegree||(e.progressType==="circle"?0:75),O=e.successPercent!==void 0&&e.successPercent!==null?[e.successPercent,e.percent]:[e.percent];return O.map((j,S)=>{const D=O.length===2&&S===0;return{stroke:T.value&&!D?`url(#gradient-${c.value})`:null,strokePathStyle:{stroke:T.value?null:D?"default":e.strokeColor,transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s",strokeDasharray:`${(j||0)/100*(v-$)}px ${v}px`,strokeDashoffset:`-${$/2}px`}}}).reverse()}),f=n.computed(()=>({width:`${e.percent}%`,"border-radius":e.strokeLinecap==="round"?"100px":"0",background:T.value?null:e.strokeColor,"background-image":T.value?h.value:null,height:`${P.value}px`}));return{progressClass:N,inCircleProgressBarStyle:u,inCircleProgressBarClass:m,pathString:g,trailPathStyle:o,progressCirclePaths:s,gradientId:c,inlineProgressBackgroundStyle:f}}function Ae(e){return{isCircleStyle:n.computed(()=>e.progressType==="circle"||e.progressType==="dashboard")}}function ze(e){const t=n.computed(()=>{const k={"f-progress-text-icon":!0,"f-icon":!0},T=`f-icon-${e.progressStatus}`;return k[T]=!0,k}),r=n.computed(()=>{const k={"f-progress-text-icon":!0,"f-icon":!0},T=e.progressStatus==="success"?"f-icon-checkmark":"f-icon-x";return k[T]=!0,k}),a=n.computed(()=>e.progressStatus==="error"||e.progressStatus==="success");return{inlineProgrssStatusClass:t,circleProgrssStatusClass:r,shouldShowStatus:a}}function He(e){const t=n.computed(()=>({width:`${e.successPercent}%`,"border-radius":e.strokeLinecap==="round"?"100px":"0",height:`${e.strokeWidth}px`,"background-image":e.enableBackgroundImg?`url(${e.backgroundImg})`:null})),r=n.computed(()=>e.successPercent||e.successPercent===0);return{inlineProgressSuccessBackgroundStyle:t,shouldShowSuccessInlineProgressBackground:r}}const A=n.defineComponent({name:"FProgress",props:H,emits:[],setup(e){const t=n.ref(e.progressType),r=n.ref(e.showInfo),a=n.ref(e.percent),k=n.ref(e.strokeLinecap),T=Ge(e),{isGradient:h,circleGradient:P}=T,N=We(e),{strokeWidth:u}=N,{formatPercentageText:m}=Le(e),i=Ae(e),{isCircleStyle:c}=i,{progressClass:g,inCircleProgressBarStyle:o,inCircleProgressBarClass:s,pathString:f,trailPathStyle:l,progressCirclePaths:v,gradientId:$,inlineProgressBackgroundStyle:O}=qe(e,i,T,N),{inlineProgrssStatusClass:j,circleProgrssStatusClass:S,shouldShowStatus:D}=ze(e),{inlineProgressSuccessBackgroundStyle:E,shouldShowSuccessInlineProgressBackground:d}=He(e);n.watch(()=>e.percent,y=>{a.value=y||0});function B(){return r.value&&n.createVNode("span",{class:"f-progress-text"},[D.value?n.createVNode("span",{class:c.value?S.value:j.value},null):m.value])}function V(){return n.createVNode(n.Fragment,null,[n.createVNode("div",{class:"f-progress-outer"},[n.createVNode("div",{class:"f-progress-inner"},[n.createVNode("div",{class:"f-progress-bg",style:O.value},null),d.value&&n.createVNode("div",{class:"f-progress-success-bg",style:E.value},null)])]),B()])}function p(){return n.createVNode("div",{class:s.value,style:o.value},[n.createVNode("svg",{class:"f-progress-circle",viewBox:"0 0 100 100"},[h.value&&n.createVNode("defs",null,[n.createVNode("linearGradient",{id:"gradient-"+$.value,x1:"100%",y1:"0%",x2:"0%",y2:"0%"},[P.value.map(y=>n.createVNode("stop",{offset:y.offset,"stop-color":y.color},null))])]),n.createVNode("path",{class:"f-progress-circle-trail",stroke:"#efefef","fill-opacity":"0","stroke-width":u.value,d:f.value,style:l.value},null),v.value.map(y=>n.createVNode("path",{class:"f-progress-circle-path","fill-opacity":"0",d:f.value,"stroke-linecap":k.value,stroke:y.stroke,"stroke-width":a.value?u.value:0,style:y.strokePathStyle},null))]),B()])}return()=>n.createVNode("div",{class:g.value},[t.value==="line"&&V(),c.value&&p()])}});function _e(e,t,r){var V;const a="",k="",T=n.ref();let h;function P(){return(t==null?void 0:t.schema.componentType)!=="frame"}function N(){return!1}function u(){return(t==null?void 0:t.schema.componentType)!=="frame"}function m(){return(t==null?void 0:t.schema.componentType)==="frame"}function i(p){if(!p||!p.value)return null;if(p.value.schema&&p.value.schema.type==="component")return p.value;const y=n.ref(p==null?void 0:p.value.parent),b=i(y);return b||null}function c(p=t){var M;const{componentInstance:y,designerItemElementRef:b}=p;if(!y||!y.value)return null;const{getCustomButtons:w}=y.value;return y.value.canMove||w&&((M=w())!=null&&M.length)?b:c(p.parent)}function g(p){return!!r}function o(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function s(){}function f(p,y){var b;!p||!y||(b=t==null?void 0:t.setupContext)==null||b.emit("dragEnd")}function l(p,y){const{componentType:b}=p;let w=ne.getSchemaByTypeForDesigner(b,p,y);const M=b.toLowerCase().replace(/-/g,"_");return w&&!w.id&&w.type===b&&(w.id=`${M}_${Math.random().toString().slice(2,6)}`),w}function v(p){}function $(...p){}function O(p){if(!p)return;const y=t==null?void 0:t.schema,{formSchemaUtils:b}=p;if(y&&b.getExpressions().length){const w=b.getExpressions().findIndex(M=>M.target===y.id);w>-1&&b.getExpressions().splice(w,1)}}function j(p){if(!p||!(t!=null&&t.schema))return;const y=t.schema,{formSchemaUtils:b}=p;b.removeCommunicationInComponent(y)}function S(p){O(p),j(p),t!=null&&t.schema.contents&&t.schema.contents.map(y=>{let b=y.id;y.type==="component-ref"&&(b=y.component);const w=e.value.querySelectorAll(`#${b}-design-item`);w!=null&&w.length&&Array.from(w).map(M=>{var F;(F=M==null?void 0:M.componentInstance)!=null&&F.value.onRemoveComponent&&M.componentInstance.value.onRemoveComponent(p)})})}function D(){}function E(p){var b,w;if(!((b=t==null?void 0:t.schema)!=null&&b.id))return;!h&&p&&(h=p.formSchemaUtils);let y="";{const{text:M,title:F,label:G,mainTitle:C,name:W,type:q}=t.schema;y=M||F||G||C||W||((w=Y[q])==null?void 0:w.name)}y&&h.getControlBasicInfoMap().set(t.schema.id,{componentTitle:y,parentPathName:y})}function d(p){var M;const{changeObject:y}=p,{propertyID:b,propertyValue:w}=y;if(["text","title","label","name","mainTitle"].includes((M=p==null?void 0:p.changeObject)==null?void 0:M.propertyID)&&b&&w&&(E(),h)){const F=h.getControlBasicInfoMap(),G=F.keys().toArray().filter(C=>{var W,q;return((W=F.get(C))==null?void 0:W.reliedComponentId)===((q=t==null?void 0:t.schema)==null?void 0:q.id)});G!=null&&G.length&&G.forEach(C=>{const W=F.get(C).parentPathName.split(" > ");W[0]=w,F.get(C).parentPathName=W.join(" > ")})}}function B(p){d(p)}return T.value={canMove:P(),canSelectParent:N(),canDelete:u(),canNested:!m(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:(V=t==null?void 0:t.parent)==null?void 0:V.componentInstance,schema:t==null?void 0:t.schema,styles:a,designerClass:k,canAccepts:g,getBelongedComponentInstance:i,getDraggableDesignItemElement:c,getDraggingDisplayText:o,getPropConfig:$,getDragScopeElement:s,onAcceptMovedChildElement:f,onChildElementMovedOut:v,addNewChildComponentSchema:l,triggerBelongedComponentToMoveWhenMoved:n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:n.ref(!1),onRemoveComponent:S,getCustomButtons:D,onPropertyChanged:B,setComponentBasicInfoMap:E,updateContextSchema:t==null?void 0:t.updateContextSchema},T}const Ue=n.defineComponent({name:"FProgressDesign",props:H,emits:[],setup(e,t){const r=n.ref(e.progressStatus),a=n.ref(e.progressType),k=n.ref(e.size),T=n.ref(e.showInfo),h=n.ref(e.strokeWidth),P=n.ref(e.percent),N=n.ref(e.strokeLinecap),u=n.ref(!1),m=n.ref(e.strokeColor),i=n.ref(null),c=n.ref(0),g=n.ref(e.width),o=n.ref(""),s=n.ref([]),f=n.ref(""),l=n.ref([]),v=n.ref(e.enableBackgroundImg),$=n.ref(e.backgroundImg),O=n.ref(),j=n.inject("design-item-context"),S=_e(O,j);n.onMounted(()=>{O.value.componentInstance=S}),t.expose(S.value),n.watch(()=>e.percent,F=>{P.value=F||0});const D=n.computed(()=>h.value||(a.value==="line"&&k.value!=="small"?8:6)),E=n.computed(()=>a.value==="circle"||a.value==="dashboard"),d=n.computed(()=>{const F={"f-progress":!0,"f-progress-line":a.value==="line","ant-progress-small":k.value==="small","f-progress-show-info":T.value,".f-progress-circle":E.value},G=`f-progress-status-${r.value}`;return F[G]=!0,F}),B=n.computed(()=>({width:`${P.value}%`,"border-radius":N.value==="round"?"100px":"0",backgroud:u.value?null:m.value,"background-image":u.value?i.value:null,height:`${D.value}px`})),V=n.computed(()=>({width:`${P.value}%`,"border-radius":N.value==="round"?"100px":"0",height:`${D.value}px`,"background-image":v.value?$.value:null})),p=n.computed(()=>c.value||c.value===0);function y(){return n.createVNode("div",{class:"f-progress-outer"},[n.createVNode("div",{class:"f-progress-inner"},[n.createVNode("div",{class:"f-progress-bg",style:B.value},null),p.value&&n.createVNode("div",{class:"f-progress-success-bg",style:V.value},null)])])}const b=n.computed(()=>({width:`${g.value}px`,height:`${g.value}px`,"font-size":`${g.value*.15+6}px`,"f-progress-circle-gradient":u.value})),w=n.computed(()=>({}));function M(){return n.createVNode("div",{class:"f-progress-inner",style:b.value},[n.createVNode("svg",{class:"f-progress-circle",viewBox:"0 0 100 100"},[u.value&&n.createVNode("defs",null,[n.createVNode("linearGradient",{id:"gradient-"+o.value,x1:"100%",y1:"0%",x2:"0%",y2:"0%"},[s.value.map(F=>n.createVNode("stop",{offset:F.offset,"stop-color":F.color},null))])]),n.createVNode("path",{class:"f-progress-circle-trail",stroke:"#efefef","fill-opacity":"0","stroke-width":D.value,d:f.value,style:w.value},null),l.value.map(F=>n.createVNode("path",{class:"f-progress-circle-path","fill-opacity":"0",d:f.value,"stroke-linecap":N.value,stroke:F.stroke,"stroke-width":P.value?D.value:0,style:F.strokePathStyle},null))])])}return()=>n.createVNode("div",{ref:O,class:d.value},[a.value==="line"&&y(),E.value&&M()])}});A.register=(e,t,r)=>{e.progress=A,t.progress=_},A.registerDesigner=(e,t,r)=>{e.progress=Ue,t.progress=_};const xe=oe.withInstall(A);R.Progress=A,R.default=xe,R.progressProps=H,R.propsResolver=_,Object.defineProperties(R,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});