UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

2 lines (1 loc) 27.3 kB
(function(q,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):(q=typeof globalThis<"u"?globalThis:q||self,n(q.rate={},q.Vue,q.LodashES,q.dynamicResolver,q.common))})(this,function(q,n,X,ae,ie){"use strict";function Y(e,t){let r;function c(i){const{properties:s,title:S,ignore:a}=i,o=a&&Array.isArray(a),l=Object.keys(s).reduce((p,v)=>((!o||!a.find(g=>g===v))&&(p[v]=s[v].type==="object"&&s[v].properties?c(s[v]):X.cloneDeep(s[v].default)),p),{});if(S&&(!o||!a.find(p=>p==="id"))){const p=S.toLowerCase().replace(/-/g,"_");l.id=`${p}_${Math.random().toString().slice(2,6)}`}return l}function w(i){const{properties:s,title:S,required:a}=i;if(a&&Array.isArray(a)){const o=a.reduce((l,p)=>(l[p]=s[p].type==="object"&&s[p].properties?c(s[p]):X.cloneDeep(s[p].default),l),{});if(S&&a.find(l=>l==="id")){const l=S.toLowerCase().replace(/-/g,"_");o.id=`${l}_${Math.random().toString().slice(2,6)}`}return o}return{type:S}}function B(i,s={},S){const a=e[i];if(a){let o=w(a);const l=t[i];return o=l?l({getSchemaByType:B},o,s,S):o,r!=null&&r.appendIdentifyForNewControl&&r.appendIdentifyForNewControl(o),o}return null}function k(i,s){const S=c(s);return Object.keys(S).reduce((a,o)=>(Object.prototype.hasOwnProperty.call(i,o)&&(a[o]&&X.isPlainObject(a[o])&&X.isPlainObject(i[o]||!i[o])?Object.assign(a[o],i[o]||{}):a[o]=i[o]),a),S),S}function C(i,s){return Object.keys(i).filter(a=>i[a]!=null).reduce((a,o)=>{if(s.has(o)){const l=s.get(o);if(typeof l=="string")a[l]=i[o];else{const p=l(o,i[o],i);Object.assign(a,p)}}else a[o]=i[o];return a},{})}function L(i,s,S=new Map){const a=k(i,s);return C(a,S)}function m(i){var S;const s=i.type;if(s){const a=e[s];if(!a)return i;const o=k(i,a),l=((S=i.editor)==null?void 0:S.type)||"";if(l){const p=e[l],v=k(i.editor,p);o.editor=v}return o}return i}function y(i){r=i}return{getSchemaByType:B,resolveSchemaWithDefaultValue:m,resolveSchemaToProps:L,mappingSchemaToProps:C,setDesignerContext:y}}const J={},Q={},{getSchemaByType:Xe,resolveSchemaWithDefaultValue:le,resolveSchemaToProps:ce,mappingSchemaToProps:se,setDesignerContext:Ge}=Y(J,Q);function ue(e={}){function t(m,y,i,s){if(typeof i=="number")return s[m].length===i;if(typeof i=="object"){const S=Object.keys(i)[0],a=i[S];if(S==="not")return Number(s[m].length)!==Number(a);if(S==="moreThan")return Number(s[m].length)>=Number(a);if(S==="lessThan")return Number(s[m].length)<=Number(a)}return!1}function r(m,y,i,s){return s[m]&&s[m].propertyValue&&String(s[m].propertyValue.value)===String(i)}const c=new Map([["length",t],["getProperty",r]]);Object.keys(e).reduce((m,y)=>(m.set(y,e[y]),m),c);function w(m,y){const i=m;return typeof y=="number"?[{target:i,operator:"length",param:null,value:Number(y)}]:typeof y=="boolean"?[{target:i,operator:"getProperty",param:m,value:!!y}]:typeof y=="object"?Object.keys(y).map(s=>{if(s==="length")return{target:i,operator:"length",param:null,value:y[s]};const S=s,a=y[s];return{target:i,operator:"getProperty",param:S,value:a}}):[]}function B(m){return Object.keys(m).reduce((i,s)=>{const S=w(s,m[s]);return i.push(...S),i},[])}function k(m,y){if(c.has(m.operator)){const i=c.get(m.operator);return i&&i(m.target,m.param,m.value,y)||!1}return!1}function C(m,y){return B(m).reduce((S,a)=>S&&k(a,y),!0)}function L(m,y){const i=Object.keys(m),s=i.includes("allOf"),S=i.includes("anyOf"),a=s||S,p=(a?m[a?s?"allOf":"anyOf":"allOf"]:[m]).map(g=>C(g,y));return s?!p.includes(!1):p.includes(!0)}return{parseValueSchema:L}}const fe={convertTo:(e,t,r,c)=>{e.appearance||(e.appearance={}),e.appearance[t]=r},convertFrom:(e,t,r)=>e.appearance?e.appearance[t]:e[t]},de={convertFrom:(e,t,r)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},pe={convertTo:(e,t,r,c)=>{e.editor&&(e.editor[t]=r)},convertFrom:(e,t,r)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,t)?e.editor[t]:e[t]},Z={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:"多语输入框"}},me={convertFrom:(e,t,r)=>{var w;const c=e.editor&&e.editor[t]?e.editor[t]:e[t];return((w=Z[c])==null?void 0:w.name)||c}},ve={convertTo:(e,t,r,c)=>{e[t]=e[t]},convertFrom:(e,t,r)=>e.editor?r.getRealEditorType(e.editor.type):""},ge={convertTo:(e,t,r,c)=>{(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"}},be={convertTo:(e,t,r,c)=>{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,c)=>{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""}},Se={convertTo:(e,t,r,c)=>{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:""},he={convertTo:(e,t,r,c)=>{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}}},Te={convertFrom:(e,t)=>e.binding?e.binding.path:"",convertTo:(e,t,r)=>{if(r&&r.length>0){const c=r[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=c.bindingField,e.binding.field=c.id,e.binding.fullPath=c.path,e.path=c.bindingPath}}},Me={convertTo:(e,t,r,c)=>{e.pagination||(e.pagination={}),e.pagination[t]=r},convertFrom:(e,t,r)=>e.pagination?e.pagination[t]:e[t]},Fe={convertTo:(e,t,r,c)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[t]=r},convertFrom:(e,t,r)=>e.rowNumber?e.rowNumber[t]:e[t]},Ne={convertTo:(e,t,r,c)=>{e.selection||(e.selection={}),e.selection[t]=r},convertFrom:(e,t,r)=>e.selection?e.selection[t]:e[t]},Oe={convertFrom:(e,t,r)=>e[t]&&e[t].length?`共 ${e[t].length} 项`:""},De={convertFrom:(e,t)=>e[t]||"",convertTo:(e,t,r)=>{e[t]=r}},Pe={convertTo:(e,t,r,c)=>{e.size||(e.size={}),e.size[t]=r},convertFrom:(e,t,r)=>e.size?e.size[t]:e[t]},we={convertFrom:(e,t,r)=>{var c,w;return(c=e.formatter)!=null&&c.data&&t==="formatterEnumData"&&!e.formatterEnumData?(w=e.formatter)==null?void 0:w.data:e.formatterEnumData}},ke={convertTo:(e,t,r,c)=>{e.sort||(e.sort={}),e.sort[t]=r},convertFrom:(e,t,r)=>{var c,w;if(t==="mode")return((c=e.sort)==null?void 0:c.mode)||"client";if(t==="multiSort")return!!((w=e.sort)!=null&&w.multiSort)}},je={convertTo:(e,t,r,c)=>{e.filter||(e.filter={}),e.filter[t]=r},convertFrom:(e,t,r)=>{var c;if(t==="mode")return((c=e.filter)==null?void 0:c.mode)||"client"}},Ee={convertTo:(e,t,r,c)=>{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 x(e,t,r){const c=new Map([["/converter/appearance.converter",fe],["/converter/buttons.converter",de],["/converter/property-editor.converter",pe],["/converter/items-count.converter",Oe],["/converter/type.converter",me],["/converter/change-editor.converter",ve],["/converter/change-formatter.converter",ge],["/converter/column-command.converter",be],["/converter/column-option.converter",ye],["/converter/summary.converter",Se],["/converter/group.converter",he],["/converter/form-group-label.converter",De],["/converter/field-selector.converter",Te],["/converter/pagination.converter",Me],["/converter/row-number.converter",Fe],["/converter/grid-selection.converter",Ne],["/converter/size.converter",Pe],["/converter/change-formatter-enum.converter",we],["/converter/grid-sort.converter",ke],["/converter/grid-filter.converter",je],["/converter/row-option.converter",Ee]]),w=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}]]),B=ue();function k(a,o){return()=>B.parseValueSchema(a,o)}function C(a,o,l){return a.includes("visible")&&o.visible!==void 0?typeof o.visible=="boolean"?()=>!!o.visible:o.visible===void 0?!0:k(o.visible,l):()=>!0}function L(a,o,l){return a.includes("readonly")&&o.readonly!==void 0?typeof o.readonly=="boolean"?()=>!!o.readonly:k(o.readonly,l):()=>!1}function m(a,o){const l=a.$converter||o;return typeof l=="string"&&l&&c.has(l)?c.get(l)||null:l||null}function y(a,o,l,p,v,g="",O=""){return Object.keys(a).map(M=>{const j=n.ref(1),E=M,f=a[M],$=Object.keys(f),H=f.title,d=f.type,T=w.get(d)||{type:"input-group",enableClear:!1},h=f.editor?Object.assign({},T,f.editor):Object.assign({},T),F=C($,f,o),P=L($,f,o);h.readonly=h.readonly===void 0?P():h.readonly;const V=f.type==="cascade"?y(f.properties,o,l,p,v,g,O):[],A=!0;let u=m(f,O);const N=n.computed({get(){if(j.value){if(["class","style"].find(_e=>_e===E)&&!u&&(u=c.get("/converter/appearance.converter")||null),u&&u.convertFrom)return u.convertFrom(l,M,v,g);const z=l[M];return Object.prototype.hasOwnProperty.call(f,"defaultValue")&&(z===void 0||typeof z=="string"&&z==="")?f.type==="boolean"?f.defaultValue:f.defaultValue||"":z}return null},set(z){j.value+=1,u&&u.convertTo?(u.convertTo(p,M,z,v,g),u.convertTo(l,M,z,v,g)):(p[M]=z,l[M]=z)}}),{refreshPanelAfterChanged:b,description:R,isExpand:_,parentPropertyID:We}=f,oe={propertyID:E,propertyName:H,propertyType:d,propertyValue:N,editor:h,visible:F,readonly:P,cascadeConfig:V,hideCascadeTitle:A,refreshPanelAfterChanged:b,description:R,isExpand:_,parentPropertyID:We};return o[E]=oe,oe})}function i(a,o,l={}){const p={},v=e[a];return v&&v.categories?Object.keys(v.categories).map(O=>{const D=v.categories[O],M=D==null?void 0:D.title,j=y(D.properties||{},p,{},l,o);return{categoryId:O,categoryName:M,properties:j}}):[]}function s(a,o,l,p,v=""){const g=o.$ref.schema,O=o.$ref.converter,D=l[g],M=D.type,j=r(D),E={},f=e[M];if(f&&f.categories){const $=f.categories[a],H=$==null?void 0:$.title;O&&Object.keys($.properties).forEach(h=>{$.properties[h].$converter=O});const d=($==null?void 0:$.properties)||{},T=y(d,E,j,D,p,v);return{categoryId:a,categoryName:H,properties:T}}return{categoryId:a,categoryName:"",properties:[]}}function S(a,o,l,p,v){const g=a.type,O=r(a),D={};let M=v||e[g];if(M&&Object.keys(M).length===0&&l&&l.getPropConfig&&(M=l.getPropConfig(p)),M&&M.categories){const j=[];return Object.keys(M.categories).map(E=>{const f=M.categories[E];if(f.$ref){j.push(s(E,f,a,o,p));return}const $=f==null?void 0:f.title,H=f==null?void 0:f.tabId,d=f==null?void 0:f.tabName,T=f==null?void 0:f.hide,h=f==null?void 0:f.hideTitle,F=y(f.properties||{},D,O,a,o,p,f.$converter),{setPropertyRelates:P}=f,V=f==null?void 0:f.parentPropertyID;j.push({categoryId:E,categoryName:$,tabId:H,tabName:d,hide:T,properties:F,hideTitle:h,setPropertyRelates:P,parentPropertyID:V})}),j}return[]}return{getPropertyConfigBySchema:S,getPropertyConfigByType:i,propertyConverterMap:c}}const K={},I={};x(K,I,le);const ee={},te={},{getSchemaByType:Ue,resolveSchemaWithDefaultValue:$e,resolveSchemaToProps:Ye,mappingSchemaToProps:Je,setDesignerContext:Qe}=Y(ee,te),re={},ne={};x(re,ne,$e);function Be(e,t,r=new Map,c=(k,C,L,m)=>C,w={},B=k=>k){return J[t.title]=t,Q[t.title]=c,K[t.title]=w,I[t.title]=B,ee[t.title]=t,te[t.title]=c,re[t.title]=w,ne[t.title]=B,(k={},C=!0)=>{if(!C)return se(k,r);const L=ce(k,t,r),m=Object.keys(e).reduce((y,i)=>(y[i]=e[i].default,y),{});return Object.assign(m,L)}}function Ve(e,t){return{customClass:t.class,customStyle:t.style}}const Re=new Map([["appearance",Ve]]);function Ce(e,t,r){return t}const Ae={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/rate.schema.json",title:"rate",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for rate",type:"string"},type:{description:"The type string of rate",type:"string",default:"rate"},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"],ignore:["id","appearance","binding"]},Le={title:"rate",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:[]}}}}}},G={size:{type:String,default:"large"},enableHalf:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},pointSystem:{type:Number,default:5},lightColor:{type:String,default:""},darkColor:{type:String,default:""},iconClass:{type:String,default:"f-icon-star"},numOfStar:{type:Number,default:5},toolTipDisabled:{type:Boolean,default:!0},toolTipContents:{type:Array,default:["很不满意","不满意","一般","满意","非常满意"]},enableScore:{type:Boolean,default:!0},enableSatisfaction:{type:Boolean,default:!1},modelValue:{type:Number,default:0}},U=Be(G,Ae,Re,Ce,Le),W=n.defineComponent({name:"FRate",props:G,emits:["selectedValue","update:modelValue"],setup(e,t){const r=n.ref(e.size),c=n.ref(e.enableHalf),w=n.ref(e.enableClear),B=n.ref(e.disabled),k=n.ref(e.pointSystem),C=n.ref(e.lightColor),L=n.ref(e.darkColor),m=n.ref(e.iconClass),y=n.ref(e.numOfStar),i=n.ref(e.toolTipDisabled),s=n.ref(e.toolTipContents),S=n.ref(e.enableScore),a=n.ref(e.enableSatisfaction);let o;const l=n.ref(0),p=n.ref(0),v=n.ref(0),g=n.ref(e.modelValue);let O=1,D,M,j;const E=4;function f(){const u=y.value;j=[];for(let N=1;N<=u;N++)j.push({id:N})}function $(){let u;c.value?u=Math.ceil(g.value/O):u=g.value,p.value=(o*g.value+Math.floor(g.value)*E)/O,D=s.value[u-1]}function H(){switch(r.value){case"small":o=14;break;case"middle":o=16;break;case"large":o=18;break;case"extraLarge":o=24;break}f(),y.value&&(O=k.value/y.value),g.value&&$()}H();function d(u){return u.className.indexOf("f-icon")!==-1}function T(){return g.value===v.value&&w.value&&p.value!==0?(p.value=0,g.value=0,M=null,l.value=0,v.value=0,t.emit("selectedValue",g.value),t.emit("update:modelValue",g.value),!0):!1}function h(u,N,b){if(!B.value&&((u.movementX||u.movementY)&&(a.value&&(D=s.value[N-1]),u.offsetX<o/2&&c.value===!0?(l.value=o*N-o/2+E*(N-1),v.value=O*N-O/2):(l.value=o*N+E*(N-1),v.value=O*N)),b===!0)){if(T())return;g.value=v.value,p.value=l.value,M=D,t.emit("update:modelValue",g.value),t.emit("selectedValue",g.value)}}function F(u,N){var b;if(d(u.target)&&u.target){const R=parseInt((b=u.target)==null?void 0:b.id);h(u,R,N)}}const P=n.computed(()=>v.value?v.value+"分":g.value+"分"),V=n.computed(()=>({width:(l.value||p.value)+"px"}));function A(){l.value=0,v.value=g.value}return n.watch(()=>e.modelValue,u=>{v.value=u,g.value=u,$()}),n.watch(()=>[e.disabled,e.enableClear],([u,N])=>{B.value=u,w.value=N}),()=>n.createVNode("div",{class:"farris-star-rating",onMouseover:n.withModifiers(u=>F(u,!1),["prevent"]),onMousemove:n.withModifiers(u=>F(u,!1),["prevent"]),onMouseleave:n.withModifiers(u=>A(),["prevent"]),onClick:n.withModifiers(u=>F(u,!0),["prevent"])},[n.createVNode("div",{class:"star-light-area",style:V.value},[j.map(u=>n.createVNode("span",{class:["f-icon default-light-color ",m.value,{"f-star-sm":r.value==="small"},{"f-star-md":r.value==="middle"},{"f-star-lg":r.value==="large"},{"f-star-exlarge":r.value==="extraLarge"},{disabled:i.value}],id:u.id,style:{color:C.value}},null))]),n.createVNode("div",{class:["star-dark-area",{small:r.value==="small"},{middle:r.value==="middle"},{large:r.value==="large"}]},[j.map(u=>n.createVNode("span",{class:["f-icon default-dark-color",m.value,{"f-star-sm":r.value==="small"},{"f-star-md":r.value==="middle"},{"f-star-lg":r.value==="large"},{"f-star-exlarge":r.value==="extraLarge"}],id:u.id,style:{color:L.value}},null))]),n.createVNode("div",{class:["f-utils-fill",{"font-small":r.value==="small"},{"font-middle":r.value==="middle"},{"font-large":r.value==="large"},{"font-exlarge":r.value==="extraLarge"}]},[S.value&&n.createVNode("span",null,[n.createTextVNode(" "),P.value,n.createTextVNode(" ")]),a.value&&(M||D)&&n.createVNode("span",null,[n.createTextVNode(" "),D||M])])])}});function qe(e,t,r){var H;const c="",w="",B=n.ref();let k;function C(){return(t==null?void 0:t.schema.componentType)!=="frame"}function L(){return!1}function m(){return(t==null?void 0:t.schema.componentType)!=="frame"}function y(){return(t==null?void 0:t.schema.componentType)==="frame"}function i(d){if(!d||!d.value)return null;if(d.value.schema&&d.value.schema.type==="component")return d.value;const T=n.ref(d==null?void 0:d.value.parent),h=i(T);return h||null}function s(d=t){var P;const{componentInstance:T,designerItemElementRef:h}=d;if(!T||!T.value)return null;const{getCustomButtons:F}=T.value;return T.value.canMove||F&&((P=F())!=null&&P.length)?h:s(d.parent)}function S(d){return!!r}function a(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function o(){}function l(d,T){var h;!d||!T||(h=t==null?void 0:t.setupContext)==null||h.emit("dragEnd")}function p(d,T){const{componentType:h}=d;let F=ae.getSchemaByTypeForDesigner(h,d,T);const P=h.toLowerCase().replace(/-/g,"_");return F&&!F.id&&F.type===h&&(F.id=`${P}_${Math.random().toString().slice(2,6)}`),F}function v(d){}function g(...d){}function O(d){if(!d)return;const T=t==null?void 0:t.schema,{formSchemaUtils:h}=d;if(T&&h.getExpressions().length){const F=h.getExpressions().findIndex(P=>P.target===T.id);F>-1&&h.getExpressions().splice(F,1)}}function D(d){if(!d||!(t!=null&&t.schema))return;const T=t.schema,{formSchemaUtils:h}=d;h.removeCommunicationInComponent(T)}function M(d){O(d),D(d),t!=null&&t.schema.contents&&t.schema.contents.map(T=>{let h=T.id;T.type==="component-ref"&&(h=T.component);const F=e.value.querySelectorAll(`#${h}-design-item`);F!=null&&F.length&&Array.from(F).map(P=>{var V;(V=P==null?void 0:P.componentInstance)!=null&&V.value.onRemoveComponent&&P.componentInstance.value.onRemoveComponent(d)})})}function j(){}function E(d){var h,F;if(!((h=t==null?void 0:t.schema)!=null&&h.id))return;!k&&d&&(k=d.formSchemaUtils);let T="";{const{text:P,title:V,label:A,mainTitle:u,name:N,type:b}=t.schema;T=P||V||A||u||N||((F=Z[b])==null?void 0:F.name)}T&&k.getControlBasicInfoMap().set(t.schema.id,{componentTitle:T,parentPathName:T})}function f(d){var P;const{changeObject:T}=d,{propertyID:h,propertyValue:F}=T;if(["text","title","label","name","mainTitle"].includes((P=d==null?void 0:d.changeObject)==null?void 0:P.propertyID)&&h&&F&&(E(),k)){const V=k.getControlBasicInfoMap(),A=V.keys().toArray().filter(u=>{var N,b;return((N=V.get(u))==null?void 0:N.reliedComponentId)===((b=t==null?void 0:t.schema)==null?void 0:b.id)});A!=null&&A.length&&A.forEach(u=>{const N=V.get(u).parentPathName.split(" > ");N[0]=F,V.get(u).parentPathName=N.join(" > ")})}}function $(d){f(d)}return B.value={canMove:C(),canSelectParent:L(),canDelete:m(),canNested:!y(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:(H=t==null?void 0:t.parent)==null?void 0:H.componentInstance,schema:t==null?void 0:t.schema,styles:c,designerClass:w,canAccepts:S,getBelongedComponentInstance:i,getDraggableDesignItemElement:s,getDraggingDisplayText:a,getPropConfig:g,getDragScopeElement:o,onAcceptMovedChildElement:l,onChildElementMovedOut:v,addNewChildComponentSchema:p,triggerBelongedComponentToMoveWhenMoved:n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:n.ref(!1),onRemoveComponent:M,getCustomButtons:j,onPropertyChanged:$,setComponentBasicInfoMap:E,updateContextSchema:t==null?void 0:t.updateContextSchema},B}const He=n.defineComponent({name:"FRateDesign",props:G,emits:["selectedValue"],setup(e,t){const r=n.ref(e.size),c=n.ref(e.enableHalf),w=n.ref(e.enableClear),B=n.ref(e.disabled),k=n.ref(e.pointSystem),C=n.ref(e.lightColor),L=n.ref(e.darkColor),m=n.ref(e.iconClass),y=n.ref(e.numOfStar),i=n.ref(e.toolTipDisabled),s=n.ref(e.toolTipContents),S=n.ref(e.enableScore),a=n.ref(e.enableSatisfaction);let o;const l=n.ref(1);let p=0;const v=n.ref(0),g=n.ref(0);let O=1,D,M,j;const E=4,f=n.ref(),$=n.inject("design-item-context"),H=qe(f,$);n.onMounted(()=>{f.value.componentInstance=H}),t.expose(H.value),n.onMounted(()=>{});function d(){const b=y.value;j=[];for(let R=1;R<=b;R++)j.push({id:R})}function T(){let b;c.value?b=Math.ceil(g.value/O):b=g.value,p=(o*g.value+Math.floor(g.value)*E)/O,D=s.value[b-1]}function h(){switch(r.value){case"small":o=14;break;case"middle":o=16;break;case"large":o=18;break;case"extraLarge":o=24;break}d(),y.value&&(O=k.value/y.value),g.value&&T()}h();function F(b){return b.className.indexOf("f-icon")!==-1}function P(){return l.value===p&&w&&p!==0?(p=0,g.value=0,M=null,l.value=0,v.value=0,t.emit("selectedValue",g.value),!0):!1}function V(b,R,_){if(b.movementX||b.movementY){if(B.value)return;a.value&&(D=s.value[R-1]),b.offsetX<o/2&&c.value===!0?(l.value=o*R-o/2+E*(R-1),v.value=O*R-O/2):(l.value=o*R+E*(R-1),v.value=O*R)}if(_===!0){if(P())return;g.value=v.value,p=l.value,M=D,t.emit("selectedValue",g.value)}}function A(b,R){if(F(b.target)&&b.target){const _=parseInt(b.target.id);V(b,_,R)}}const u=n.computed(()=>v.value?v.value+"分":g.value+"分"),N=n.computed(()=>({width:(l.value||p)+"px"}));return()=>n.createVNode("div",{class:"farris-star-rating",ref:f,onMouseover:n.withModifiers(b=>A(b,!1),["prevent"]),onMousemove:n.withModifiers(b=>A(b,!1),["prevent"]),onMouseout:n.withModifiers(b=>A(b,!1),["prevent"]),onClick:n.withModifiers(b=>A(b,!0),["prevent"])},[n.createVNode("div",{class:"star-light-area",style:N.value},[j.map(b=>n.createVNode("span",{class:["f-icon default-light-color ",m.value,{"f-star-sm":r.value==="small"},{"f-star-md":r.value==="middle"},{"f-star-lg":r.value==="large"},{"f-star-exlarge":r.value==="extraLarge"},{disabled:i.value}],id:b.id,style:{color:C.value}},null))]),n.createVNode("div",{class:["star-dark-area",{small:r.value==="small"},{middle:r.value==="middle"},{large:r.value==="large"}]},[j.map(b=>n.createVNode("span",{class:["f-icon default-dark-color",m.value,{"f-star-sm":r.value==="small"},{"f-star-md":r.value==="middle"},{"f-star-lg":r.value==="large"},{"f-star-exlarge":r.value==="extraLarge"}],id:b.id,style:{color:L.value}},null))]),n.createVNode("div",{class:["f-utils-fill",{"font-small":r.value==="small"},{"font-middle":r.value==="middle"},{"font-large":r.value==="large"},{"font-exlarge":r.value==="extraLarge"}]},[S.value&&n.createVNode("span",null,[n.createTextVNode(" "),u.value,n.createTextVNode(" ")]),a.value&&(M||D)&&n.createVNode("span",null,[n.createTextVNode(" "),D||M])])])}});W.register=(e,t,r,c)=>{e.rate=W,t.rate=U},W.registerDesigner=(e,t,r)=>{e.rate=He,t.rate=U};const ze=ie.withInstall(W);q.FRate=W,q.default=ze,q.propsResolver=U,q.rateProps=G,Object.defineProperties(q,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});