@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
9 lines (8 loc) • 27.2 kB
JavaScript
(function(S,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("vue"),require("../response-toolbar/index.umd.js"),require("../common/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("lodash-es"),require("../locale/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../response-toolbar/index.umd.js","../common/index.umd.js","../dynamic-resolver/index.umd.js","lodash-es","../locale/index.umd.js"],u):(S=typeof globalThis<"u"?globalThis:S||self,u(S.drawer={},S.Vue,S.FResponseToolbar,S.common,S.dynamicResolver,S.LodashES,S.locale))})(this,function(S,u,te,z,re,$,_){"use strict";const ne=new Map([["appearance",re.resolveAppearance]]),oe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/drawer.schema.json",title:"drawer",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for drawer",type:"string"},type:{description:"The type string of drawer",type:"string",default:"drawer"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},visible:{description:"",type:"boolean",default:!0},title:{description:"",type:"string",default:"标题"},position:{description:"",type:"string",default:"right"},width:{description:"",type:"number",default:500},showMask:{description:"",type:"boolean",default:!0},showHeader:{description:"",type:"boolean",default:!0},showClose:{description:"",type:"boolean",default:!0},customHeader:{description:"",type:"boolean",default:!1},headerTemplate:{description:"",type:"object"},headerToolbar:{description:"",type:"object",properties:{appearance:{description:"",type:"object",properties:{class:{type:"string",default:""}}},id:{description:"",type:"string"},type:{description:"",type:"string",default:"drawer-toolbar"},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]}}},showFooter:{description:"",type:"boolean",default:!0},showEntry:{description:"",type:"boolean",default:!1},footerToolbar:{description:"",type:"object",properties:{appearance:{description:"",type:"object",properties:{class:{type:"string",default:""}}},id:{description:"",type:"string"},type:{description:"",type:"string",default:"drawer-toolbar"},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]}}},contents:{description:"",type:"array",default:[]},footerTemplate:{description:"",type:"object"},footerContentType:{description:"",type:"string",default:"toolbar"},footerHeight:{description:"",type:"number",default:60},allowClickMaskToClose:{description:"",type:"boolean",default:!0},transparent:{description:"遮罩层是否透明",type:"boolean",default:!1},host:{description:"",type:"string"}},required:["id","type","contents"],events:{beforeClose:"关闭前事件"}};function ie(e,t,r){return Object.assign(t,{title:"标题",headerToolbar:{id:t.id+"_header_toolbar",type:"drawer-toolbar",buttons:[]},footerToolbar:{id:t.id+"_footer_toolbar",type:"drawer-toolbar",buttons:[]}}),t}function A(e,t){let r;function n(a){const{properties:c,title:b,ignore:o}=a,i=o&&Array.isArray(o),d=Object.keys(c).reduce((g,y)=>((!i||!o.find(k=>k===y))&&(g[y]=c[y].type==="object"&&c[y].properties?n(c[y]):$.cloneDeep(c[y].default)),g),{});if(b&&(!i||!o.find(g=>g==="id"))){const g=b.toLowerCase().replace(/-/g,"_");d.id=`${g}_${Math.random().toString().slice(2,6)}`}return d}function p(a){const{properties:c,title:b,required:o}=a;if(o&&Array.isArray(o)){const i=o.reduce((d,g)=>(d[g]=c[g].type==="object"&&c[g].properties?n(c[g]):$.cloneDeep(c[g].default),d),{});if(b&&o.find(d=>d==="id")){const d=b.toLowerCase().replace(/-/g,"_");i.id=`${d}_${Math.random().toString().slice(2,6)}`}return i}return{type:b}}function h(a,c={},b){const o=e[a];if(o){let i=p(o);const d=t[a];return i=d?d({getSchemaByType:h},i,c,b):i,r!=null&&r.appendIdentifyForNewControl&&r.appendIdentifyForNewControl(i),i}return null}function w(a,c){const b=n(c);return Object.keys(b).reduce((o,i)=>(Object.prototype.hasOwnProperty.call(a,i)&&(o[i]&&$.isPlainObject(o[i])&&$.isPlainObject(a[i]||!a[i])?Object.assign(o[i],a[i]||{}):o[i]=a[i]),o),b),b}function F(a,c){return Object.keys(a).filter(o=>a[o]!=null).reduce((o,i)=>{if(c.has(i)){const d=c.get(i);if(typeof d=="string")o[d]=a[i];else{const g=d(i,a[i],a);Object.assign(o,g)}}else o[i]=a[i];return o},{})}function x(a,c,b=new Map){const o=w(a,c);return F(o,b)}function m(a){var b;const c=a.type;if(c){const o=e[c];if(!o)return a;const i=w(a,o),d=((b=a.editor)==null?void 0:b.type)||"";if(d){const g=e[d],y=w(a.editor,g);i.editor=y}return i}return a}function v(a){r=a}return{getSchemaByType:h,resolveSchemaWithDefaultValue:m,resolveSchemaToProps:x,mappingSchemaToProps:F,setDesignerContext:v}}const I={},W={},{resolveSchemaWithDefaultValue:ae,resolveSchemaToProps:le,mappingSchemaToProps:se}=A(I,W);function ce(e={}){function t(m,v,a,c){if(typeof a=="number")return c[m].length===a;if(typeof a=="object"){const b=Object.keys(a)[0],o=a[b];if(b==="not")return Number(c[m].length)!==Number(o);if(b==="moreThan")return Number(c[m].length)>=Number(o);if(b==="lessThan")return Number(c[m].length)<=Number(o)}return!1}function r(m,v,a,c){return c[m]&&c[m].propertyValue&&String(c[m].propertyValue.value)===String(a)}const n=new Map([["length",t],["getProperty",r]]);Object.keys(e).reduce((m,v)=>(m.set(v,e[v]),m),n);function p(m,v){const a=m;return typeof v=="number"?[{target:a,operator:"length",param:null,value:Number(v)}]:typeof v=="boolean"?[{target:a,operator:"getProperty",param:m,value:!!v}]:typeof v=="object"?Object.keys(v).map(c=>{if(c==="length")return{target:a,operator:"length",param:null,value:v[c]};const b=c,o=v[c];return{target:a,operator:"getProperty",param:b,value:o}}):[]}function h(m){return Object.keys(m).reduce((a,c)=>{const b=p(c,m[c]);return a.push(...b),a},[])}function w(m,v){if(n.has(m.operator)){const a=n.get(m.operator);return a&&a(m.target,m.param,m.value,v)||!1}return!1}function F(m,v){return h(m).reduce((b,o)=>b&&w(o,v),!0)}function x(m,v){const a=Object.keys(m),c=a.includes("allOf"),b=a.includes("anyOf"),o=c||b,g=(o?m[o?c?"allOf":"anyOf":"allOf"]:[m]).map(k=>F(k,v));return c?!g.includes(!1):g.includes(!0)}return{parseValueSchema:x}}const ue={convertTo:(e,t,r,n)=>{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} 项`:"无"},fe={convertTo:(e,t,r,n)=>{e.editor&&(e.editor[t]=r)},convertFrom:(e,t,r)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,t)?e.editor[t]:e[t]},me={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:"标签页工具栏按钮"},"drawer-toolbar-item":{type:"drawer-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:"标签页工具栏"},"drawer-toolbar":{type:"drawer-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:"多语输入框"},image:{type:"image",name:"图像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"rich-text-editor":{type:"rich-text-editor",name:"富文本",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"},wizard:{type:"wizard",name:"向导",icon:"wizard"},"wizard-page":{type:"wizard-page",name:"向导页",icon:"wizard"},"wizard-page-detail":{type:"wizard-page-detail",name:"向导详情",icon:"wizard"},step:{type:"step",name:"步骤条",icon:"step"},"dynamic-form":{type:"dynamic-form",name:"动态表单"}},pe={convertFrom:(e,t,r)=>{var p;const n=e.editor&&e.editor[t]?e.editor[t]:e[t];return((p=me[n])==null?void 0:p.name)||n}},be={convertTo:(e,t,r,n)=>{e[t]=e[t]},convertFrom:(e,t,r)=>e.editor?r.getRealEditorType(e.editor.type):""},ge={convertTo:(e,t,r,n)=>{(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==="dateFormat")return e.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return e.formatter.customFormat;if(t==="type")return e.formatter.type||"none";if(t==="customFormat")return e.formmater.customFormat}return"none"}},ve={convertTo:(e,t,r,n)=>{e.command?e.command[t]=r:e.command={[t]:r},t==="enableType"&&r==="default"&&(e.command.enable=!0,e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),t==="enableType"&&r==="custom"&&(e.command.enable=!0,e.command.commands=[{value:"add",text:"增加",type:"link"},{value:"edit",text:"编辑",type:"danger"},{value:"remove",text:"删除",type:"remove"}]),t==="enableType"&&r==="unable"&&(e.command.enable=!1)},convertFrom:(e,t,r)=>{var n,p;if(e.command){if(t==="enableType"){const h=(p=(n=e.command)==null?void 0:n.commands)==null?void 0:p.find(w=>w.command==="edit"&&w.type==="primary");return e.command.enable?h?"default":"custom":"unable"}if(t==="commands")return e.command.enableType==="custom"?e.command.commands:[];if(t==="formatter")return e.command.formatter;if(t==="count")return e.command.count;if(t==="columnWidth")return e.command.columnWidth||200}return""}},ye={convertTo:(e,t,r,n)=>{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""}},Te={convertTo:(e,t,r,n)=>{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)=>{var n,p;return t==="customSummaryStyle"?e.summary.customSummaryStyle:t==="position"?((n=e.summary)==null?void 0:n[t])||"bottom":t==="customRender"?((p=e.summary)==null?void 0:p[t])||"":e.summary&&t==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""}},we={convertTo:(e,t,r,n)=>{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,customRender:""})},convertFrom:(e,t,r)=>{if(e.group){if(t==="enable")return e.group.enable;if(t==="showSummary")return e.group.showSummary;if(t==="customRender")return e.group.customRender;if(t==="groupFields")return e.group.groupFields}}},Ce={convertFrom:(e,t)=>e.binding?e.binding.path:"",convertTo:(e,t,r)=>{if(r&&r.length>0){const n=r[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=n.bindingField,e.binding.field=n.id,e.binding.fullPath=n.path,e.path=n.bindingPath}}},he={convertTo:(e,t,r,n)=>{e.pagination||(e.pagination={}),t==="sizeLimits"?e.pagination.sizeLimits=r.split(","):e.pagination[t]=r},convertFrom:(e,t,r)=>e.pagination?t==="sizeLimits"?e.pagination.sizeLimits.join(","):e.pagination[t]:e[t]},Se={convertTo:(e,t,r,n)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[t]=r},convertFrom:(e,t,r)=>e.rowNumber?e.rowNumber[t]:e[t]},ke={convertTo:(e,t,r,n)=>{e.selection||(e.selection={}),e.selection[t]=r},convertFrom:(e,t,r)=>{var n,p;return t==="showCheckbox"?(n=e.selection)!=null&&n.multiSelect?!0:(p=e.selection)==null?void 0:p.showCheckbox:e.selection?e.selection[t]:e[t]}},Fe={convertFrom:(e,t,r)=>e[t]&&e[t].length?`共 ${e[t].length} 项`:""},xe={convertFrom:(e,t)=>e[t]||"",convertTo:(e,t,r)=>{e[t]=r}},je={convertTo:(e,t,r,n)=>{e.size||(e.size={}),e.size[t]=r},convertFrom:(e,t,r)=>e.size?e.size[t]:e[t]},Oe={convertFrom:(e,t,r)=>{var n,p;return(n=e.formatter)!=null&&n.data&&t==="formatterEnumData"&&!e.formatterEnumData?(p=e.formatter)==null?void 0:p.data:e.formatterEnumData}},Ne={convertTo:(e,t,r,n)=>{e.sort||(e.sort={}),e.sort[t]=r},convertFrom:(e,t,r)=>{var n,p;if(t==="mode")return((n=e.sort)==null?void 0:n.mode)||"client";if(t==="multiSort")return!!((p=e.sort)!=null&&p.multiSort)}},Pe={convertTo:(e,t,r,n)=>{e.filter||(e.filter={}),e.filter[t]=r},convertFrom:(e,t,r)=>{var n;if(t==="mode")return((n=e.filter)==null?void 0:n.mode)||"client"}},Ee={convertTo:(e,t,r,n)=>{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;if(t==="height")return e.rowOption.height}return""}},Re={convertTo:(e,t,r,n)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e[t]=r,t==="columnTemplateType"&&r==="hyperlink"&&(e.onClickLinkCommand?e.columnTemplate=`
<span class="f-pretend-link f-cursor-pointer"
@click="(ctx)=>viewModel.current.${e.onClickLinkCommand||""}({id: rowData.id,context: ctx})">
{{rowData.${e.field}}}
</span>`:e.columnTemplate=`
<span class="f-pretend-link f-cursor-pointer">
{{rowData.${e.field}}}
</span>`),t==="columnTemplateType"&&r==="default"&&(e.columnTemplate=""),t==="columnTemplateType"&&r==="custom"&&(e.columnTemplate=""))},convertFrom:(e,t,r)=>t==="columnTemplate"?e.columnTemplate:t==="columnTemplateType"?e.columnTemplateType?e.columnTemplateType||"default":e.columnTemplate&&!e.onClickLinkCommand?"custom":e.columnTemplate&&e.onClickLinkCommand?"hyperlink":"default":""};function G(e,t,r){const n=new Map([["/converter/appearance.converter",ue],["/converter/buttons.converter",de],["/converter/property-editor.converter",fe],["/converter/items-count.converter",Fe],["/converter/type.converter",pe],["/converter/change-editor.converter",be],["/converter/change-formatter.converter",ge],["/converter/column-command.converter",ve],["/converter/column-option.converter",ye],["/converter/summary.converter",Te],["/converter/group.converter",we],["/converter/form-group-label.converter",xe],["/converter/field-selector.converter",Ce],["/converter/pagination.converter",he],["/converter/row-number.converter",Se],["/converter/grid-selection.converter",ke],["/converter/size.converter",je],["/converter/change-formatter-enum.converter",Oe],["/converter/grid-sort.converter",Ne],["/converter/grid-filter.converter",Pe],["/converter/row-option.converter",Ee],["/converter/change-formatter-type.converter",Re]]),p=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}],["multiLanguage",{type:"language-textbox"}]]),h=ce();function w(o,i){return()=>h.parseValueSchema(o,i)}function F(o,i,d){return o.includes("visible")&&i.visible!==void 0?typeof i.visible=="boolean"?()=>!!i.visible:i.visible===void 0?!0:w(i.visible,d):()=>!0}function x(o,i,d){return o.includes("readonly")&&i.readonly!==void 0?typeof i.readonly=="boolean"?()=>!!i.readonly:w(i.readonly,d):()=>!1}function m(o,i){const d=o.$converter||i;return typeof d=="string"&&d&&n.has(d)?n.get(d)||null:d||null}function v(o,i,d,g,y,k="",O=""){return Object.keys(o).map(T=>{const N=u.ref(1),l=T,s=o[T],f=Object.keys(s),E=s.title,C=s.type,M=p.get(C)||{type:"input-group",enableClear:!1},P=s.editor?Object.assign({},M,s.editor):Object.assign({},M),q=F(f,s,i),B=x(f,s,i);P.readonly=P.readonly===void 0?B():P.readonly;const V=s.type==="cascade"?v(s.properties,i,d,g,y,k,O):[],H=!0;let R=m(s,O);const He=u.computed({get(){if(N.value){if(["class","style"].find(Ge=>Ge===l)&&!R&&(R=n.get("/converter/appearance.converter")||null),R&&R.convertFrom)return R.convertFrom(d,T,y,k);const D=d[T];return Object.prototype.hasOwnProperty.call(s,"defaultValue")&&(D===void 0||typeof D=="string"&&D==="")?s.type==="boolean"?s.defaultValue:s.defaultValue||"":D}return null},set(D){N.value+=1,R&&R.convertTo?(R.convertTo(g,T,D,y,k),R.convertTo(d,T,D,y,k)):(g[T]=D,d[T]=D)}}),{refreshPanelAfterChanged:_e,description:Ae,isExpand:Ie,parentPropertyID:We}=s,ee={propertyID:l,propertyName:E,propertyType:C,propertyValue:He,editor:P,visible:q,readonly:B,cascadeConfig:V,hideCascadeTitle:H,refreshPanelAfterChanged:_e,description:Ae,isExpand:Ie,parentPropertyID:We};return i[l]=ee,ee})}function a(o,i,d={}){const g={},y=e[o];return y&&y.categories?Object.keys(y.categories).map(O=>{const j=y.categories[O],T=j==null?void 0:j.title,N=v(j.properties||{},g,{},d,i);return{categoryId:O,categoryName:T,properties:N}}):[]}function c(o,i,d,g,y=""){const k=i.$ref.schema,O=i.$ref.converter,j=d[k],T=j.type,N=r(j),l={},s=e[T];if(s&&s.categories){const f=s.categories[o],E=f==null?void 0:f.title;O&&Object.keys(f.properties).forEach(P=>{f.properties[P].$converter=O});const C=(f==null?void 0:f.properties)||{},M=v(C,l,N,j,g,y);return{categoryId:o,categoryName:E,properties:M}}return{categoryId:o,categoryName:"",properties:[]}}function b(o,i,d,g,y){const k=o.type,O=r(o),j={};let T=y||e[k];if(!(T&&Object.keys(T).length>0)&&d&&d.getPropConfig&&(T=d.getPropConfig(g)),T&&T.categories){const l=[];return Object.keys(T.categories).map(s=>{const f=T.categories[s];if(f.$ref){l.push(c(s,f,o,i,g));return}const E=f==null?void 0:f.title,C=f==null?void 0:f.tabId,M=f==null?void 0:f.tabName,P=f==null?void 0:f.hide,q=f==null?void 0:f.hideTitle,B=v(f.properties||{},j,O,o,i,g,f.$converter),{setPropertyRelates:V}=f,H=f==null?void 0:f.parentPropertyID;l.push({categoryId:s,categoryName:E,tabId:C,tabName:M,hide:P,properties:B,hideTitle:q,setPropertyRelates:V,parentPropertyID:H})}),l}return[]}return{getPropertyConfigBySchema:b,getPropertyConfigByType:a,propertyConverterMap:n}}const Z={},J={};G(Z,J,ae);const Q={},U={},{resolveSchemaWithDefaultValue:De}=A(Q,U),X={},Y={};G(X,Y,De);function Me(e,t,r=new Map,n=(w,F,x,m)=>F,p={},h=w=>w){return I[t.title]=t,W[t.title]=n,Z[t.title]=p,J[t.title]=h,Q[t.title]=t,U[t.title]=n,X[t.title]=p,Y[t.title]=h,(w={},F=!0)=>{if(!F)return se(w,r);const x=le(w,t,r),m=Object.keys(e).reduce((v,a)=>(v[a]=e[a].default,v),{});return Object.assign(m,x)}}function $e(e,t){if(!e||e.length<1)return null;for(const r of e){if(r.id===t)return r;if(r.children){const n=r.children.find(p=>p.id===t);if(n)return n}}return null}function Be(){function e(t,r){const{footerToolbar:n,headerToolbar:p}=t,h=((n==null?void 0:n.buttons)||[]).concat((p==null?void 0:p.buttons)||[]);if(!h||h.length<1)return null;const[w,F]=r.payloads,x=$e(h,F);return x?x.onClick||x.click:null}return{resolve:e}}const L={id:{type:String,required:!0},backgroundColor:{type:String,default:"#fff"},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},modalClass:{type:String,default:""},height:{type:String,default:300},modelValue:{type:Boolean,default:!1},position:{type:String,default:"right"},appendTo:{type:String,default:"body"},showEntry:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},allowClickMaskToClose:{type:Boolean,default:!0},transparent:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:String,default:300},host:{type:Object,default:"body"},showHeader:{type:Boolean,default:!0},headerToolbar:{type:Object,default:{}},headerTemplate:{type:Object,default:null},showFooter:{type:Boolean,default:!0},footerTemplate:{type:Object,default:null},footerToolbar:{type:Object,default:{}},footerHeight:{type:Number,default:60},buttons:{type:Array,default:[]},customClass:{type:String,default:""},customStyle:{type:String,default:""}},ze=Me(L,oe,ne,ie),Le=Be();function qe(){return{drawerLocale:{cancel:_.LocaleService.getLocaleValue("drawer.cancel")||"取消",confirm:_.LocaleService.getLocaleValue("drawer.confirm")||"确定"}}}const K=u.defineComponent({name:"FDrawer",props:L,emits:["afterClose","update:modelValue","click"],setup(e,t){qe();const r=u.ref(e.modelValue),n=u.ref(e.buttons),p=u.ref(!1),h=u.computed(()=>({"f-utils-absolute-all f-drawer":!0,"f-drawer-inline":typeof e.host=="string"?e.host!=="body":document.querySelector(e.host)!==document.body})),w=u.computed(()=>({opacity:e.transparent?0:1})),F=u.computed(()=>{const l={};return e.maskClass&&e.maskClass.split(" ").forEach(s=>{l[s]=!0}),{"f-drawer-mask f-utils-absolute-all":!0,...l}}),x=u.computed(()=>{const l={};return e.customClass&&e.customClass.split(" ").forEach(s=>{l[s]=!0}),{"f-drawer-wrapper":!0,[`f-drawer-wrapper-${e.position}`]:!0,...l}}),m=u.computed(()=>{const l=e.width;return typeof l=="string"?l:typeof l=="number"?`${l}px`:"20%"}),v=u.computed(()=>{const l=e.height;return typeof l=="string"?l:typeof l=="number"?`${l}px`:"20%"}),a=u.computed(()=>{let l="-6px 0";switch(e.position){case"left":l="6px 0";break;case"right":l="-6px 0";break;case"top":l="0 6px";break;case"bottom":l="0 -6px";break}const s={width:m.value,height:v.value,backgroundColor:e.backgroundColor,maxWidth:"100%"};return e.transparent&&(s.boxShadow=`${l} 8px 0 rgba(31, 35, 41, .1)`),z.getCustomStyle(s,e==null?void 0:e.customStyle)}),c=u.computed(()=>`f-drawer-${e.position}`),b=l=>{Promise.resolve().then(()=>{var s;return(s=e.beforeClose)==null?void 0:s.call(e)}).then(s=>{s&&(r.value=!1,t.emit("update:modelValue",r.value),t.emit("afterClose"))})};u.watch(()=>e.modelValue,(l,s)=>{l!==s&&(r.value=l)});const o=(l,s)=>{t.emit("click",l,s)},i={close:()=>{r.value=!1}};async function d(l,s){l.handle&&await l.handle(s,i)&&t.emit("closed",s)}const g=(l,s)=>u.createVNode(te,{class:s,alignment:"right",items:l,onClick:o},null);function y(){var l,s,f,E;if((s=(l=e.footerToolbar)==null?void 0:l.buttons)!=null&&s.length&&(e.footerToolbar.visible===void 0||e.footerToolbar.visible)){const C={"f-utils-fill":!0};return(E=(f=e.footerToolbar)==null?void 0:f.appearance)!=null&&E.class&&(C[e.footerToolbar.appearance.class]=!0),g(e.footerToolbar.buttons,C)}return n.value&&!!n.value.length&&n.value.map(C=>{const M=u.ref(C.disabled);return u.createVNode("button",{id:C.id,type:"button",disabled:M.value,class:C.class+(C.iconClass?" btn-icontext":""),onClick:P=>{d(C,P)}},[!!C.iconClass&&u.createVNode("i",{class:C.iconClass},null),C.text])})}function k(){return e.footerTemplate&&typeof e.footerTemplate=="function"?e.footerTemplate():t.slots.footerTemplate?t.slots.footerTemplate():y()}function O(){var s,f;const l={"f-utils-fill":!0};return(f=(s=e.headerToolbar)==null?void 0:s.appearance)!=null&&f.class&&(l[e.headerToolbar.appearance.class]=!0),e.headerTemplate&&typeof e.headerTemplate=="function"?e.headerTemplate():t.slots.headerTemplate?t.slots.headerTemplate():u.createVNode(u.Fragment,null,[u.createVNode("div",{class:"f-drawer-title",title:e.title},[e.title]),e.headerToolbar&&(e.headerToolbar.visible===void 0||e.headerToolbar.visible)&&u.createVNode("div",{class:"f-utils-fill-flex-row mx-2 col-7"},[g(e.headerToolbar.buttons||[],l)]),e.showClose&&u.createVNode("div",{class:"f-drawer-close"},[u.createVNode("span",{class:"f-icon f-icon-close",onClick:u.withModifiers(E=>{b()},["stop"])},null)])])}const j=u.ref({});function T(){const l=z.getMaxZIndex();j.value={zIndex:l<1e3?1e3:l}}function N(){return p.value?!0:typeof e.host=="string"?e.host==="body"?!0:!!document.querySelector(e.host):!!e.host}return p.value=N(),u.onMounted(()=>{p.value=N()}),u.watchEffect(()=>{r.value&&T()}),t.expose({open:()=>{r.value=!0},close:()=>{b()}}),()=>p.value?u.createVNode(u.Teleport,{to:e.host},{default:()=>[u.createVNode("div",{class:h.value,id:e.id,style:j.value},[u.createVNode(u.Transition,{name:"f-drawer-mask",appear:!0},{default:()=>[r.value&&u.createVNode("div",{class:F.value,style:w.value,onClick:u.withModifiers(l=>{e.allowClickMaskToClose&&b()},["stop"])},null)]}),u.createVNode(u.Transition,{name:c.value},{default:()=>{var l,s;return[r.value&&u.createVNode("div",{class:x.value,style:a.value},[u.createVNode("div",{class:"f-drawer-container"},[e.showHeader&&u.createVNode("div",{class:"f-drawer-header align-items-center"},[O()]),u.createVNode("div",{class:"f-drawer-body f-utils-fill",style:"overflow: auto;"},[(s=(l=t.slots).default)==null?void 0:s.call(l)]),e.showFooter&&u.createVNode("div",{class:"f-drawer-footer px-2",style:{height:e.footerHeight+"px"}},[k()])])])]}})])]}):null}}),Ve=z.withInstall(K);S.FDrawer=K,S.default=Ve,S.drawerProps=L,S.eventHandlerResolver=Le,S.propsResolver=ze,Object.defineProperties(S,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});