UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

9 lines (8 loc) 28.6 kB
(function(h,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):(h=typeof globalThis<"u"?globalThis:h||self,u(h.drawer={},h.Vue,h.FResponseToolbar,h.common,h.dynamicResolver,h.LodashES,h.locale))})(this,function(h,u,ne,L,re,$,A){"use strict";const oe=new Map([["appearance",re.resolveAppearance]]),ie={$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 ae(e,t,n){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 I(e,t){let n;function r(a){const{properties:c,title:b,ignore:o}=a,i=o&&Array.isArray(o),d=Object.keys(c).reduce((g,T)=>((!i||!o.find(k=>k===T))&&(g[T]=c[T].type==="object"&&c[T].properties?r(c[T]):$.cloneDeep(c[T].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 f(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?r(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 y(a,c={},b){const o=e[a];if(o){let i=f(o);const d=t[a];return i=d?d({getSchemaByType:y},i,c,b):i,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(i),i}return null}function w(a,c){const b=r(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 p(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],T=w(a.editor,g);i.editor=T}return i}return a}function v(a){n=a}return{getSchemaByType:y,resolveSchemaWithDefaultValue:p,resolveSchemaToProps:x,mappingSchemaToProps:F,setDesignerContext:v}}const W={},G={},{resolveSchemaWithDefaultValue:le,resolveSchemaToProps:se,mappingSchemaToProps:ce}=I(W,G);function ue(e={}){function t(p,v,a,c){if(typeof a=="number")return c[p].length===a;if(typeof a=="object"){const b=Object.keys(a)[0],o=a[b];if(b==="not")return Number(c[p].length)!==Number(o);if(b==="moreThan")return Number(c[p].length)>=Number(o);if(b==="lessThan")return Number(c[p].length)<=Number(o)}return!1}function n(p,v,a,c){return c[p]&&c[p].propertyValue&&String(c[p].propertyValue.value)===String(a)}const r=new Map([["length",t],["getProperty",n]]);Object.keys(e).reduce((p,v)=>(p.set(v,e[v]),p),r);function f(p,v){const a=p;return typeof v=="number"?[{target:a,operator:"length",param:null,value:Number(v)}]:typeof v=="boolean"?[{target:a,operator:"getProperty",param:p,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 y(p){return Object.keys(p).reduce((a,c)=>{const b=f(c,p[c]);return a.push(...b),a},[])}function w(p,v){if(r.has(p.operator)){const a=r.get(p.operator);return a&&a(p.target,p.param,p.value,v)||!1}return!1}function F(p,v){return y(p).reduce((b,o)=>b&&w(o,v),!0)}function x(p,v){const a=Object.keys(p),c=a.includes("allOf"),b=a.includes("anyOf"),o=c||b,g=(o?p[o?c?"allOf":"anyOf":"allOf"]:[p]).map(k=>F(k,v));return c?!g.includes(!1):g.includes(!0)}return{parseValueSchema:x}}const de={convertTo:(e,t,n,r)=>{e.appearance||(e.appearance={}),e.appearance[t]=n},convertFrom:(e,t,n)=>e.appearance?e.appearance[t]:e[t]},fe={convertFrom:(e,t,n)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},me={convertTo:(e,t,n,r)=>{e.editor&&(e.editor[t]=n)},convertFrom:(e,t,n)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,t)?e.editor[t]:e[t]},pe={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},table:{type:"table",name:"表格布局"},"table-td":{type:"table-td",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:"列表导航"},nav:{type:"nav",name:"标签类导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},avatar:{type:"avatar",name:"头像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"approval-logs":{type:"approval-logs",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:"动态表单"}},be={convertFrom:(e,t,n)=>{var f;const r=e.editor&&e.editor[t]?e.editor[t]:e[t];return((f=pe[r])==null?void 0:f.name)||r}},ge={convertTo:(e,t,n,r)=>{e[t]=e[t]},convertFrom:(e,t,n)=>e.editor?n.getRealEditorType(e.editor.type):""},ve={convertTo:(e,t,n,r)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[t]=n:e.formatter={[t]:n})},convertFrom:(e,t,n)=>{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"}return"none"}},ye={convertTo:(e,t,n,r)=>{e.command?e.command[t]=n:e.command={[t]:n},t==="enableType"&&n==="default"&&(e.command.enable=!0,e.command.formatter="",e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),t==="enableType"&&n==="custom"&&(e.command.enable=!0,e.command.commands=[{value:"add",text:"增加",type:"link"},{value:"edit",text:"编辑",type:"link"},{value:"remove",text:"删除",type:"link"}]),t==="enableType"&&n==="unable"&&(e.command.enable=!1,e.command.formatter="")},convertFrom:(e,t,n)=>{var r,f;if(e.command){if(t==="enableType"){if(e.command.enableType)return e.command.enableType;const y=(f=(r=e.command)==null?void 0:r.commands)==null?void 0:f.find(w=>w.command==="edit"&&w.type==="primary");return e.command.enable?y?"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""}},Te={convertTo:(e,t,n,r)=>{if(e.column||(e.column={}),t==="fitMode"){n&&n!=="none"?(e.column.fitColumns=!0,e.column.fitMode=n):(e.column.fitColumns=!1,e.column.fitMode="average");return}if(t==="fitColumns"){e.column.fitColumns=n,n&&!e.column.fitMode&&(e.column.fitMode="average");return}e.column[t]=n},convertFrom:(e,t,n)=>{if(e.column){if(t==="fitMode")return e.column.fitColumns?e.column.fitMode||"average":"none";if(t==="fitColumns")return e.column.fitColumns}return t==="fitMode"?"none":""}},we={convertTo:(e,t,n,r)=>{e.summary?e.summary[t]=n:e.summary={[t]:n},t==="enable"&&n&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:n,groupFields:[]})},convertFrom:(e,t,n)=>{var r,f;return t==="customSummaryStyle"?e.summary.customSummaryStyle:t==="position"?((r=e.summary)==null?void 0:r[t])||"bottom":t==="customRender"?((f=e.summary)==null?void 0:f[t])||"":e.summary&&t==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""}},Ce={convertTo:(e,t,n,r)=>{e.group?e.group[t]=n:e.group={[t]:n},t==="enable"&&n&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:n,groupFields:[],showSummary:!1,customRender:""})},convertFrom:(e,t,n)=>{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}}},Se={convertFrom:(e,t)=>e.binding?e.binding.path:"",convertTo:(e,t,n)=>{if(n&&n.length>0){const r=n[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=r.bindingField,e.binding.field=r.id,e.binding.fullPath=r.path,e.path=r.bindingPath}}},he={convertTo:(e,t,n,r)=>{if(e.pagination||(e.pagination={}),t==="sizeLimits")if(n==null)delete e.pagination.sizeLimits;else{const f=[...new Set(String(n).split(",").map(y=>y.trim()).filter(y=>y!=="").map(y=>parseInt(y,10)).filter(y=>!Number.isNaN(y)&&y>0))];f.length>0?e.pagination.sizeLimits=f:delete e.pagination.sizeLimits}else e.pagination[t]=n},convertFrom:(e,t,n)=>{var r;return e.pagination?t==="sizeLimits"?((r=e.pagination.sizeLimits)==null?void 0:r.join(","))??"":e.pagination[t]:e[t]}},ke={convertTo:(e,t,n,r)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[t]=n},convertFrom:(e,t,n)=>e.rowNumber?e.rowNumber[t]:e[t]},Fe={convertTo:(e,t,n,r)=>{e.selection||(e.selection={}),e.selection[t]=n},convertFrom:(e,t,n)=>{if(!e.selection)return!!e[t];const r=!!e.selection[t];return t==="showCheckbox"&&r==null&&e.selection.multiSelect===!0?!0:r}},xe={convertFrom:(e,t,n)=>e[t]&&e[t].length?`共 ${e[t].length} 项`:""},Oe={convertFrom:(e,t)=>e[t]||"",convertTo:(e,t,n)=>{e[t]=n}},je={convertTo:(e,t,n,r)=>{e.size||(e.size={}),e.size[t]=n},convertFrom:(e,t,n)=>e.size?e.size[t]:e[t]},Ne={convertFrom:(e,t,n)=>{var r,f;return(r=e.formatter)!=null&&r.data&&t==="formatterEnumData"&&!e.formatterEnumData?(f=e.formatter)==null?void 0:f.data:e.formatterEnumData}},Pe={convertTo:(e,t,n,r)=>{e.sort||(e.sort={}),e.sort[t]=n},convertFrom:(e,t,n)=>{var r,f;if(t==="mode")return((r=e.sort)==null?void 0:r.mode)||"client";if(t==="multiSort")return!!((f=e.sort)!=null&&f.multiSort)}},Me={convertTo:(e,t,n,r)=>{e.filter||(e.filter={}),e.filter[t]=n,t==="enable"&&(e.enableFilter=!1)},convertFrom:(e,t,n)=>{var r,f,y,w;return t==="mode"?((r=e.filter)==null?void 0:r.mode)||"server":t==="filterStyle"?((f=e.filter)==null?void 0:f.filterStyle)||"filter-column":t==="enable"?((y=e.filter)==null?void 0:y.enable)!==void 0?!!e.filter.enable:!!e.enableFilter:((w=e.filter)==null?void 0:w[t])||void 0}},Ee={convertTo:(e,t,n,r)=>{e.rowOption?e.rowOption[t]=n:e.rowOption={[t]:n}},convertFrom:(e,t,n)=>{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,n,r)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e[t]=n,t==="columnTemplateType"&&n==="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"&&n==="default"&&(e.columnTemplate=""),t==="columnTemplateType"&&n==="custom"&&(e.columnTemplate=""))},convertFrom:(e,t,n)=>t==="columnTemplate"?e.columnTemplate:t==="columnTemplateType"?e.columnTemplateType?e.columnTemplateType||"default":e.columnTemplate&&!e.onClickLinkCommand?"custom":e.columnTemplate&&e.onClickLinkCommand?"hyperlink":"default":""},De={convertTo:(e,t,n,r)=>{e.hierarchy||(e.hierarchy={cascadeOption:{}}),e.hierarchy.cascadeOption||(e.hierarchy.cascadeOption={}),e.hierarchy.cascadeOption[t]=n},convertFrom:(e,t,n)=>{var r,f;return!!((f=(r=e.hierarchy)==null?void 0:r.cascadeOption)!=null&&f[t])}};function Z(e,t,n){const r=new Map([["/converter/appearance.converter",de],["/converter/buttons.converter",fe],["/converter/property-editor.converter",me],["/converter/items-count.converter",xe],["/converter/type.converter",be],["/converter/change-editor.converter",ge],["/converter/change-formatter.converter",ve],["/converter/column-command.converter",ye],["/converter/column-option.converter",Te],["/converter/summary.converter",we],["/converter/group.converter",Ce],["/converter/form-group-label.converter",Oe],["/converter/field-selector.converter",Se],["/converter/pagination.converter",he],["/converter/row-number.converter",ke],["/converter/grid-selection.converter",Fe],["/converter/size.converter",je],["/converter/change-formatter-enum.converter",Ne],["/converter/grid-sort.converter",Pe],["/converter/grid-filter.converter",Me],["/converter/row-option.converter",Ee],["/converter/change-formatter-type.converter",Re],["/converter/tree-auto-check.converter",De]]),f=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"}]]),y=ue();function w(o,i){return()=>y.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 p(o,i){const d=o.$converter||i;return typeof d=="string"&&d&&r.has(d)?r.get(d)||null:d||null}function v(o,i,d,g,T,k="",j=""){return Object.keys(o).map(C=>{const N=u.ref(1),s=C,l=o[C],m=Object.keys(l),M=l.title,S=l.type,D=f.get(S)||{type:"input-group",enableClear:!1},P=l.editor?Object.assign({},D,l.editor):Object.assign({},D),H=F(m,l,i),B=x(m,l,i);P.readonly=P.readonly===void 0?B():P.readonly;const V=l.type==="cascade"?v(l.properties,i,d,g,T,k,j):[],_=!0;let E=p(l,j);const Ae=u.computed({get(){if(N.value){if(["class","style"].find(z=>z===s)&&!E&&(E=r.get("/converter/appearance.converter")||null),E&&E.convertFrom){const z=E.convertFrom(d,C,T,k);return z===void 0&&Object.prototype.hasOwnProperty.call(l,"defaultValue")?l.type==="boolean"?l.defaultValue:l.defaultValue||"":z}const R=d[C];return Object.prototype.hasOwnProperty.call(l,"defaultValue")&&(R===void 0||typeof R=="string"&&R==="")?l.type==="boolean"?l.defaultValue:l.defaultValue||"":R}return null},set(R){N.value+=1,E&&E.convertTo?(E.convertTo(g,C,R,T,k),E.convertTo(d,C,R,T,k)):(g[C]=R,d[C]=R)}}),{refreshPanelAfterChanged:Ie,description:We,isExpand:Ge,parentPropertyID:Ze}=l,te={propertyID:s,propertyName:M,propertyType:S,propertyValue:Ae,editor:P,visible:H,readonly:B,cascadeConfig:V,hideCascadeTitle:_,refreshPanelAfterChanged:Ie,description:We,isExpand:Ge,parentPropertyID:Ze};return i[s]=te,te})}function a(o,i,d={}){const g={},T=e[o];return T&&T.categories?Object.keys(T.categories).map(j=>{const O=T.categories[j],C=O==null?void 0:O.title,N=v(O.properties||{},g,{},d,i);return{categoryId:j,categoryName:C,properties:N}}):[]}function c(o,i,d,g,T=""){const k=i.$ref.schema,j=i.$ref.converter,O=d[k],C=O.type,N=n(O),s={},l=e[C];if(l&&l.categories){const m=l.categories[o],M=m==null?void 0:m.title;j&&Object.keys(m.properties).forEach(P=>{m.properties[P].$converter=j});const S=(m==null?void 0:m.properties)||{},D=v(S,s,N,O,g,T);return{categoryId:o,categoryName:M,properties:D}}return{categoryId:o,categoryName:"",properties:[]}}function b(o,i,d,g,T){const k=o.type,j=n(o),O={};let C=T||e[k];if(!(C&&Object.keys(C).length>0)&&d&&d.getPropConfig&&(C=d.getPropConfig(g)),C&&C.categories){const s=[];return Object.keys(C.categories).map(l=>{const m=C.categories[l];if(m.$ref){s.push(c(l,m,o,i,g));return}const M=m==null?void 0:m.title,S=m==null?void 0:m.tabId,D=m==null?void 0:m.tabName,P=m==null?void 0:m.hide,H=m==null?void 0:m.hideTitle,B=v(m.properties||{},O,j,o,i,g,m.$converter),{setPropertyRelates:V}=m,_=m==null?void 0:m.parentPropertyID;s.push({categoryId:l,categoryName:M,tabId:S,tabName:D,hide:P,properties:B,hideTitle:H,setPropertyRelates:V,parentPropertyID:_})}),s}return[]}return{getPropertyConfigBySchema:b,getPropertyConfigByType:a,propertyConverterMap:r}}const J={},Q={};Z(J,Q,le);const U={},X={},{resolveSchemaWithDefaultValue:$e}=I(U,X),Y={},K={};Z(Y,K,$e);function Be(e,t,n=new Map,r=(w,F,x,p)=>F,f={},y=w=>w){return W[t.title]=t,G[t.title]=r,J[t.title]=f,Q[t.title]=y,U[t.title]=t,X[t.title]=r,Y[t.title]=f,K[t.title]=y,(w={},F=!0)=>{if(!F)return ce(w,n);const x=se(w,t,n),p=Object.keys(e).reduce((v,a)=>(v[a]=e[a].default,v),{});return Object.assign(p,x)}}function ze(e,t){if(!e||e.length<1)return null;for(const n of e){if(n.id===t)return n;if(n.children){const r=n.children.find(f=>f.id===t);if(r)return r}}return null}function Le(){function e(t,n){const{footerToolbar:r,headerToolbar:f}=t,y=((r==null?void 0:r.buttons)||[]).concat((f==null?void 0:f.buttons)||[]);if(!y||y.length<1)return null;const[w,F]=n.payloads,x=ze(y,F);return x?x.onClick||x.click:null}return{resolve:e}}const q={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},showMask:{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,String],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:""}},qe=Be(q,ie,oe,ae),He=Le();function Ve(){return{drawerLocale:{cancel:A.LocaleService.getLocaleValue("drawer.cancel")||"取消",confirm:A.LocaleService.getLocaleValue("drawer.confirm")||"确定"}}}const ee=u.defineComponent({name:"FDrawer",props:q,emits:["afterClose","update:modelValue","click"],setup(e,t){Ve();const n=u.ref(e.modelValue),r=u.ref(e.buttons),f=u.ref(!1),y=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 s={};return e.maskClass&&e.maskClass.split(" ").forEach(l=>{s[l]=!0}),{"f-drawer-mask f-utils-absolute-all":!0,...s}}),x=u.computed(()=>{const s={};return e.customClass&&e.customClass.split(" ").forEach(l=>{s[l]=!0}),{"f-drawer-wrapper":!0,[`f-drawer-wrapper-${e.position}`]:!0,...s}}),p=u.computed(()=>{const s=e.width;return typeof s=="string"?s:typeof s=="number"?`${s}px`:"20%"}),v=u.computed(()=>{const s=e.height;return typeof s=="string"?s:typeof s=="number"?`${s}px`:"20%"}),a=u.computed(()=>{let s="-6px 0";switch(e.position){case"left":s="6px 0";break;case"right":s="-6px 0";break;case"top":s="0 6px";break;case"bottom":s="0 -6px";break}const l={width:p.value,height:v.value,backgroundColor:e.backgroundColor,maxWidth:"100%"};return e.transparent&&(l.boxShadow=`${s} 8px 0 rgba(31, 35, 41, .1)`),L.getCustomStyle(l,e==null?void 0:e.customStyle)}),c=u.computed(()=>`f-drawer-${e.position}`),b=s=>{Promise.resolve().then(()=>{var l;return(l=e.beforeClose)==null?void 0:l.call(e)}).then(l=>{l&&(n.value=!1,t.emit("update:modelValue",n.value),t.emit("afterClose"))})};u.watch(()=>e.modelValue,(s,l)=>{s!==l&&(n.value=s)});const o=(s,l)=>{t.emit("click",s,l)},i={close:()=>{n.value=!1}};async function d(s,l){s.handle&&await s.handle(l,i)&&t.emit("closed",l)}const g=(s,l)=>u.createVNode(ne,{class:l,alignment:"right",items:s,onClick:o},null);function T(){var s,l,m,M;if((l=(s=e.footerToolbar)==null?void 0:s.buttons)!=null&&l.length&&(e.footerToolbar.visible===void 0||e.footerToolbar.visible)){const S={"f-utils-fill":!0};return(M=(m=e.footerToolbar)==null?void 0:m.appearance)!=null&&M.class&&(S[e.footerToolbar.appearance.class]=!0),g(e.footerToolbar.buttons,S)}return r.value&&!!r.value.length&&r.value.map(S=>{const D=u.ref(S.disabled);return u.createVNode("button",{id:S.id,type:"button",disabled:D.value,class:S.class+(S.iconClass?" btn-icontext":""),onClick:P=>{d(S,P)}},[!!S.iconClass&&u.createVNode("i",{class:S.iconClass},null),S.text])})}function k(){return e.footerTemplate&&typeof e.footerTemplate=="function"?e.footerTemplate():t.slots.footerTemplate?t.slots.footerTemplate():T()}function j(){var l,m;const s={"f-utils-fill":!0};return(m=(l=e.headerToolbar)==null?void 0:l.appearance)!=null&&m.class&&(s[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||[],s)]),e.showClose&&u.createVNode("div",{class:"f-drawer-close"},[u.createVNode("span",{class:"f-icon f-icon-close",onClick:u.withModifiers(M=>{b()},["stop"])},null)])])}const O=u.ref({});function C(){const s=L.getMaxZIndex();O.value={zIndex:s<1e3?1e3:s}}function N(){return f.value?!0:typeof e.host=="string"?e.host==="body"?!0:!!document.querySelector(e.host):!!e.host}return f.value=N(),u.onMounted(()=>{f.value=N()}),u.watchEffect(()=>{n.value&&C()}),t.expose({open:()=>{n.value=!0},close:()=>{b()}}),()=>f.value?u.createVNode(u.Teleport,{to:e.host},{default:()=>[u.createVNode("div",{class:y.value,id:e.id,style:O.value},[u.createVNode(u.Transition,{name:"f-drawer-mask",appear:!0},{default:()=>[n.value&&e.showMask&&u.createVNode("div",{class:F.value,style:w.value,onClick:u.withModifiers(s=>{e.allowClickMaskToClose&&b()},["stop"])},null)]}),u.createVNode(u.Transition,{name:c.value},{default:()=>{var s,l;return[n.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"},[j()]),u.createVNode("div",{class:"f-drawer-body f-utils-fill",style:"overflow: auto;"},[(l=(s=t.slots).default)==null?void 0:l.call(s)]),e.showFooter&&u.createVNode("div",{class:"f-drawer-footer px-2",style:{height:e.footerHeight+"px"}},[k()])])])]}})])]}):null}}),_e=L.withInstall(ee);h.FDrawer=ee,h.default=_e,h.drawerProps=q,h.eventHandlerResolver=He,h.propsResolver=qe,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});