@farris/ui-vue 1.2.8 → 1.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion/index.esm.js +129 -129
- package/components/accordion/index.umd.cjs +1 -0
- package/components/avatar/index.esm.js +166 -157
- package/components/avatar/index.umd.cjs +1 -0
- package/components/border-editor/index.umd.cjs +1 -0
- package/components/button/index.umd.cjs +1 -0
- package/components/button-edit/index.esm.js +343 -325
- package/components/button-edit/index.umd.cjs +1 -0
- package/components/button-group/index.umd.cjs +1 -0
- package/components/calculator/index.umd.cjs +1 -0
- package/components/calendar/index.esm.js +338 -338
- package/components/calendar/index.umd.cjs +1 -0
- package/components/capsule/index.esm.js +182 -182
- package/components/capsule/index.umd.cjs +1 -0
- package/components/checkbox/index.esm.js +326 -317
- package/components/checkbox/index.umd.cjs +1 -0
- package/components/color-picker/index.esm.js +118 -118
- package/components/color-picker/index.umd.cjs +3 -0
- package/components/combo-list/index.esm.js +338 -325
- package/components/combo-list/index.umd.cjs +1 -0
- package/components/combo-tree/index.esm.js +62 -62
- package/components/combo-tree/index.umd.cjs +1 -0
- package/components/common/index.umd.cjs +1 -0
- package/components/component/index.esm.js +382 -270
- package/components/component/index.umd.cjs +1 -0
- package/components/condition/index.esm.js +1018 -895
- package/components/condition/index.umd.cjs +1 -0
- package/components/content-container/index.esm.js +285 -212
- package/components/content-container/index.umd.cjs +1 -0
- package/components/data-grid/index.css +1 -1
- package/components/data-grid/index.esm.js +4761 -4319
- package/components/data-grid/index.umd.cjs +1 -0
- package/components/data-view/index.esm.js +2901 -2664
- package/components/data-view/index.umd.cjs +1 -0
- package/components/date-picker/index.esm.js +1502 -1488
- package/components/date-picker/index.umd.cjs +1 -0
- package/components/designer-canvas/index.css +1 -1
- package/components/designer-canvas/index.esm.js +938 -928
- package/components/designer-canvas/index.umd.cjs +1 -0
- package/components/designer-outline/index.css +1 -1
- package/components/designer-outline/index.esm.js +27 -27
- package/components/designer-outline/index.umd.cjs +1 -0
- package/components/designer-toolbox/index.esm.js +36 -12
- package/components/designer-toolbox/index.umd.cjs +1 -0
- package/components/discussion-editor/index.umd.cjs +3 -0
- package/components/discussion-list/index.umd.cjs +1 -0
- package/components/drawer/index.umd.cjs +1 -0
- package/components/dropdown/index.esm.js +241 -241
- package/components/dropdown/index.umd.cjs +2 -0
- package/components/dynamic-form/index.esm.js +1074 -885
- package/components/dynamic-form/index.umd.cjs +1 -0
- package/components/dynamic-resolver/index.esm.js +99 -94
- package/components/dynamic-resolver/index.umd.cjs +1 -0
- package/components/dynamic-view/index.umd.cjs +1 -0
- package/components/enum-editor/index.umd.cjs +1 -0
- package/components/events-editor/index.esm.js +577 -522
- package/components/events-editor/index.umd.cjs +1 -0
- package/components/expression-editor/index.esm.js +70 -70
- package/components/expression-editor/index.umd.cjs +1 -0
- package/components/external-container/index.css +1 -1
- package/components/external-container/index.esm.js +2938 -2619
- package/components/external-container/index.umd.cjs +1 -0
- package/components/field-selector/index.css +1 -1
- package/components/field-selector/index.esm.js +4766 -4325
- package/components/field-selector/index.umd.cjs +1 -0
- package/components/filter-bar/index.css +1 -1
- package/components/filter-bar/index.esm.js +1231 -1215
- package/components/filter-bar/index.umd.cjs +1 -0
- package/components/flow-canvas/index.css +1 -1
- package/components/flow-canvas/index.esm.js +1062 -1052
- package/components/flow-canvas/index.umd.cjs +1 -0
- package/components/image-cropper/index.esm.js +373 -373
- package/components/image-cropper/index.umd.cjs +1 -0
- package/components/input-group/index.esm.js +398 -394
- package/components/input-group/index.umd.cjs +1 -0
- package/components/layout/index.esm.js +268 -268
- package/components/layout/index.umd.cjs +1 -0
- package/components/list-nav/index.esm.js +234 -161
- package/components/list-nav/index.umd.cjs +1 -0
- package/components/list-view/index.css +1 -1
- package/components/list-view/index.esm.js +2288 -2048
- package/components/list-view/index.umd.cjs +1 -0
- package/components/loading/index.umd.cjs +8 -0
- package/components/locale/index.umd.cjs +1 -0
- package/components/lookup/index.css +1 -1
- package/components/lookup/index.esm.js +5776 -5305
- package/components/lookup/index.umd.cjs +1 -0
- package/components/mapping-editor/index.css +1 -1
- package/components/mapping-editor/index.esm.js +5496 -5036
- package/components/mapping-editor/index.umd.cjs +1 -0
- package/components/message-box/index.umd.cjs +1 -0
- package/components/modal/index.umd.cjs +1 -0
- package/components/nav/index.esm.js +383 -322
- package/components/nav/index.umd.cjs +3 -0
- package/components/notify/index.umd.cjs +1 -0
- package/components/number-range/index.esm.js +273 -269
- package/components/number-range/index.umd.cjs +1 -0
- package/components/number-spinner/index.esm.js +292 -283
- package/components/number-spinner/index.umd.cjs +1 -0
- package/components/order/index.css +1 -1
- package/components/order/index.esm.js +1008 -925
- package/components/order/index.umd.cjs +1 -0
- package/components/page-footer/index.esm.js +98 -98
- package/components/page-footer/index.umd.cjs +1 -0
- package/components/page-header/index.esm.js +949 -847
- package/components/page-header/index.umd.cjs +1 -0
- package/components/pagination/index.esm.js +464 -403
- package/components/pagination/index.umd.cjs +1 -0
- package/components/popover/index.umd.cjs +1 -0
- package/components/progress/index.esm.js +226 -226
- package/components/progress/index.umd.cjs +3 -0
- package/components/property-editor/index.esm.js +1110 -1092
- package/components/property-editor/index.umd.cjs +3 -0
- package/components/property-panel/index.esm.js +520 -513
- package/components/property-panel/index.umd.cjs +1 -0
- package/components/query-solution/index.css +1 -1
- package/components/query-solution/index.esm.js +1714 -1575
- package/components/query-solution/index.umd.cjs +1 -0
- package/components/radio-button/index.esm.js +67 -67
- package/components/radio-button/index.umd.cjs +1 -0
- package/components/radio-group/index.esm.js +298 -289
- package/components/radio-group/index.umd.cjs +1 -0
- package/components/rate/index.esm.js +195 -190
- package/components/rate/index.umd.cjs +1 -0
- package/components/response-layout/index.esm.js +112 -112
- package/components/response-layout/index.umd.cjs +1 -0
- package/components/response-layout-editor/index.esm.js +902 -877
- package/components/response-layout-editor/index.umd.cjs +1 -0
- package/components/response-toolbar/index.esm.js +874 -778
- package/components/response-toolbar/index.umd.cjs +1 -0
- package/components/schema-selector/index.css +1 -1
- package/components/schema-selector/index.esm.js +4594 -4289
- package/components/schema-selector/index.umd.cjs +8 -0
- package/components/search-box/index.esm.js +126 -126
- package/components/search-box/index.umd.cjs +1 -0
- package/components/section/index.esm.js +645 -503
- package/components/section/index.umd.cjs +1 -0
- package/components/smoke-detector/index.esm.js +120 -120
- package/components/smoke-detector/index.umd.cjs +1 -0
- package/components/spacing-editor/index.umd.cjs +1 -0
- package/components/splitter/index.esm.js +421 -348
- package/components/splitter/index.umd.cjs +1 -0
- package/components/step/index.esm.js +219 -219
- package/components/step/index.umd.cjs +1 -0
- package/components/switch/index.esm.js +232 -222
- package/components/switch/index.umd.cjs +1 -0
- package/components/tabs/index.esm.js +1823 -1744
- package/components/tabs/index.umd.cjs +1 -0
- package/components/tags/index.esm.js +399 -401
- package/components/tags/index.umd.cjs +1 -0
- package/components/text/index.esm.js +164 -164
- package/components/text/index.umd.cjs +1 -0
- package/components/textarea/index.esm.js +220 -215
- package/components/textarea/index.umd.cjs +1 -0
- package/components/time-picker/index.esm.js +693 -666
- package/components/time-picker/index.umd.cjs +1 -0
- package/components/tooltip/index.umd.cjs +1 -0
- package/components/transfer/index.css +1 -1
- package/components/transfer/index.esm.js +422 -413
- package/components/transfer/index.umd.cjs +1 -0
- package/components/tree-grid/index.css +1 -1
- package/components/tree-grid/index.esm.js +4799 -4358
- package/components/tree-grid/index.umd.cjs +1 -0
- package/components/tree-view/index.esm.js +2448 -2215
- package/components/tree-view/index.umd.cjs +1 -0
- package/components/uploader/index.esm.js +164 -164
- package/components/uploader/index.umd.cjs +2 -0
- package/components/verify-detail/index.esm.js +143 -143
- package/components/verify-detail/index.umd.cjs +1 -0
- package/components/video/index.esm.js +410 -331
- package/components/video/index.umd.cjs +1 -0
- package/components/weather/index.esm.js +901 -901
- package/components/weather/index.umd.cjs +16 -0
- package/farris.all.esm.js +12305 -11403
- package/farris.all.umd.cjs +8 -8
- package/index.css +1 -1
- package/package.json +1 -1
- package/types/button-edit/src/designer/button-group.design.component.d.ts +7 -0
- package/types/combo-list/src/components/list-container.component.d.ts +3 -0
- package/types/combo-list/src/components/list-container.props.d.ts +5 -1
- package/types/common/entity/entity-schema.d.ts +258 -0
- package/types/component/src/component-ref.props.d.ts +4 -0
- package/types/component/src/composition/inner-component-build-info.d.ts +27 -0
- package/types/component/src/designer/use-designer-rules.d.ts +2 -2
- package/types/data-grid/index.d.ts +5 -2
- package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +33 -0
- package/types/data-grid/src/data-grid.component.d.ts +2 -1
- package/types/data-grid/src/data-grid.props.d.ts +2 -2
- package/types/data-grid/src/designer/use-group-column.d.ts +20 -0
- package/types/data-grid/src/property-config/data-grid.property-config.d.ts +4 -0
- package/types/data-grid/src/schema/schema-resolver.d.ts +2 -1
- package/types/data-view/components/column-format/boolean.component.d.ts +4 -0
- package/types/data-view/components/column-format/column-format.component.d.ts +4 -0
- package/types/data-view/components/column-format/date.component.d.ts +4 -0
- package/types/data-view/components/column-format/enum.component.d.ts +4 -0
- package/types/data-view/components/column-format/number.component.d.ts +4 -0
- package/types/data-view/composition/pagination/use-pagination.d.ts +1 -0
- package/types/data-view/composition/types.d.ts +18 -6
- package/types/data-view/composition/use-edit.d.ts +2 -1
- package/types/designer-canvas/src/composition/function/use-dragula.d.ts +2 -2
- package/types/designer-canvas/src/types.d.ts +2 -2
- package/types/dynamic-form/index.d.ts +2 -1
- package/types/dynamic-form/src/composition/response-form-component-creator.service.d.ts +31 -0
- package/types/dynamic-form/src/schema/schema-resolver.d.ts +2 -1
- package/types/dynamic-resolver/src/schema-resolver.d.ts +2 -1
- package/types/dynamic-resolver/src/types.d.ts +3 -2
- package/types/response-toolbar/src/response-toolbar.props.d.ts +2 -2
- package/types/response-toolbar/src/schema/schema-mapper.d.ts +4 -0
- package/types/section/src/property-config/section.property-config.d.ts +93 -0
- package/types/section/src/schema/schema-resolver.d.ts +2 -1
- package/types/tabs/src/composition/types.d.ts +2 -2
- package/types/tabs/src/designer/tab-header-item.design.component.d.ts +3 -1
- package/types/tabs/src/property-config/tab-page.property-config.d.ts +60 -0
- package/types/tabs/src/schema/schema-resolver.d.ts +2 -1
- package/types/tags/index.d.ts +36 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(S,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(S=typeof globalThis<"u"?globalThis:S||self,e(S["message-box"]={},S.Vue))})(this,function(S,e){"use strict";var Oe=Object.defineProperty;var Ie=(S,e,L)=>e in S?Oe(S,e,{enumerable:!0,configurable:!0,writable:!0,value:L}):S[e]=L;var A=(S,e,L)=>Ie(S,typeof e!="symbol"?e+"":e,L);const L={width:{Type:Number,default:400},type:{Type:String,default:"info"},title:{Type:String,default:""},detail:{Type:String,default:""},okButtonText:{Type:String,default:"确定"},cancelButtonText:{Type:String,default:"取消"},exceptionInfo:{Type:Object,default:null},promptEditorType:{Type:String,default:"text-area"}};function q(){return new DOMException("The request is not allowed","NotAllowedError")}async function ee(t){if(!navigator.clipboard)throw q();return navigator.clipboard.writeText(t)}async function te(t){const a=document.createElement("span");a.textContent=t,a.style.whiteSpace="pre",a.style.webkitUserSelect="auto",a.style.userSelect="all",document.body.appendChild(a);const n=window.getSelection(),l=window.document.createRange();n==null||n.removeAllRanges(),l.selectNode(a),n==null||n.addRange(l);let f=!1;try{f=window.document.execCommand("copy")}finally{n==null||n.removeAllRanges(),window.document.body.removeChild(a)}if(!f)throw q()}async function ae(t){try{await ee(t)}catch(a){try{await te(t)}catch(n){throw n||a||q()}}}function ne(){async function t(a){await ae(a)}return{onCopy:t}}function le(t,a,n,l){const f=e.ref(14),s=e.ref(140),h=e.ref(""),r=e.ref(l.value.length),u=e.computed(()=>l.value),c=e.computed(()=>({"font-size":`${f.value}px`,height:"100%"}));function g(C){if(C.currentTarget){const M=C.currentTarget.value||"";r.value=M.length}}return()=>e.createVNode(e.Fragment,null,[e.createVNode("textarea",{title:"promptMessage",name:"promptMessage",class:"form-control",style:c.value,rows:"4",maxlength:s.value,onInput:C=>g(C)},[u.value]),e.createVNode("span",{class:"textarea-wordcount",title:h.value,style:"position: absolute; bottom: 76px; right: 32px; cursor: pointer; text-align: right;"},[r.value+" / "+s.value])])}function oe(t,a,n,l){const f=le(t,a,n,l),s=new Map([["text-area",f]]);function h(r){return s.get(r)||null}return{getEditorRender:h}}function se(){const t=e.ref(!1),a=e.ref("复制成功");return{feedbackStyle:e.computed(()=>{const l={position:"absolute",left:"50%",top:"50%",width:"100px",height:"40px",background:"#303C53","line-height":"40px","text-align":"center","margin-left":"-30px","margin-top":"-50px","border-radius":"10px","box-shadow":"0px 2px 8px 0px",color:"#fff",transition:"all .3s ease"};return l.opacity=t.value?"0.8":"0",l.display=t.value?"":"none",l}),feedbackMessage:a,toShowFeedback:t}}function re(t,a){const n=a.getEditorRender(t.promptEditorType);return()=>n&&n()}function ce(t){const a=e.ref(3),n=e.ref(480),l=e.computed(()=>!!t.value&&!!t.value.date),f=e.computed(()=>`发生时间 : ${t.value&&t.value.date||""}`),s=e.computed(()=>!!t.value&&!!t.value.detail),h=e.computed(()=>{const y=`${n.value}px`;return{overflow:"hidden","text-overflow":"ellipsis",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":a.value,"max-height":y}}),r=e.computed(()=>t.value&&t.value.detail||""),u=e.computed(()=>!0),c=e.ref(!1),g=e.ref("展开"),C=e.ref("收起"),M=e.computed(()=>{const y={display:"block",color:"#2A87FF"};return y["text-align"]=c.value?"":"right",y});function B(y,v){c.value=!c.value,a.value=c.value?20:3}function N(y){return B()}function E(y){return B()}return()=>e.createVNode("div",{class:"toast-msg-detail"},[l.value&&e.createVNode("div",null,[f.value]),s.value&&e.createVNode("div",{id:"exception_error_msg",ref:"exceptionMessageRef",style:h.value},[e.createTextVNode("详细信息 : "),e.createVNode("span",{innerHTML:r.value},null)]),u.value&&e.createVNode("span",{style:M.value},[c.value&&e.createVNode("span",{onClick:N,style:"cursor: pointer;"},[C.value]),!c.value&&e.createVNode("span",{onClick:E,style:"cursor: pointer;"},[g.value])])])}function ie(t){return()=>e.createVNode("p",{class:"toast-msg-detail",innerHTML:t.value},null)}function ue(t,a,n,l){const f=e.ref(t.exceptionInfo),s=e.computed(()=>{const M={"f-icon":!0},B=`f-icon-${a.value}`;return M[B]=!0,M}),h=e.computed(()=>n.value||f.value&&f.value.message),r=e.computed(()=>l.value),u=e.computed(()=>!!l.value),c=e.computed(()=>!!f.value);function g(){return c.value?ce(f):u.value?ie(r):()=>null}const C=g();return()=>e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"float-left modal-tips-iconwrap"},[e.createVNode("span",{class:s.value},null)]),e.createVNode("div",{class:"modal-tips-content"},[e.createVNode("p",{class:"toast-msg-title",innerHTML:h.value},null),C()])])}function de(t,a,n){const{onCopy:l}=a,{toShowFeedback:f}=n,s=e.ref("复制成功"),h=e.ref("复制详细信息"),r=e.ref(t.exceptionInfo||{date:"",message:"",detail:""}),u=e.computed(()=>r.value&&r.value.detail||"");function c(g){l(u.value).catch(C=>{s.value="复制失败"}).finally(()=>{f.value=!0,setTimeout(()=>{f.value=!1},700)})}return()=>e.createVNode("span",{style:"width: 100%;color: #2A87FF;padding-left: 37px;"},[e.createVNode("span",{onClick:c,style:"cursor: pointer;"},[h.value])])}function fe(t,a,n,l){const f=e.ref(t.type),s=e.ref([]),h=e.ref(t.exceptionInfo),r=e.ref(t.okButtonText),u=e.ref(t.cancelButtonText),c=e.ref(!0),g=e.ref(!0),C=e.computed(()=>!!(s.value&&s.value.length)),M=e.computed(()=>h.value&&h.value.date&&h.value.message&&h.value.detail),B=e.computed(()=>!(s.value&&s.value.length)&&(r.value||u.value)),N=e.computed(()=>g.value&&r.value),E=e.computed(()=>c.value&&u.value),y=de(t,n,l);function v(k){f.value==="question"&&a.emit("reject"),a.emit("close")}function T(k){f.value==="question"&&a.emit("accept"),a.emit("close")}return()=>e.createVNode("div",{class:"modal-footer"},[M.value&&y(),B.value&&E.value&&e.createVNode("button",{type:"button",class:"btn btn-secondary btn-lg",onClick:v},[u.value]),B.value&&N.value&&e.createVNode("button",{type:"button",class:"btn btn-primary btn-lg",onClick:T},[r.value]),C.value&&s.value.length&&s.value.map(k=>e.createVNode("button",{type:"button",onClick:k.handle,class:k.class},[k.iconClass&&e.createVNode("span",{class:k.iconClass},null),k.text]))])}const $=e.defineComponent({name:"FMessageBox",props:L,emits:["accept","reject","close"],setup(t,a){const n=e.ref(t.type),l=e.ref(t.title),f=e.ref(t.detail),s=e.computed(()=>{const y={"modal-tips":!0,"d-flex":!0,"flex-row":!0},v=`messager-type-${n.value}`;return y[v]=!0,y}),h=e.computed(()=>{const y={};return n.value==="prompt"?y.padding="0.5rem 0.5rem 1rem 1.5rem":n.value==="error"&&(y.padding="0.5rem 1.5rem 1rem 1.5rem"),y}),r=ne(),u=oe(t,n,l,f),c=se(),{feedbackStyle:g,feedbackMessage:C}=c;function M(){return e.createVNode("div",{style:g.value},[C.value])}function B(){switch(n.value){case"prompt":return re(t,u);default:return ue(t,n,l,f)}}const N=B(),E=fe(t,a,r,c);return()=>e.createVNode("div",{class:"farris-messager"},[e.createVNode("section",{class:s.value,style:h.value},[N()]),E(),M()])}}),he={class:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},reiszeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0}};class V{constructor(a,n){this.x=a,this.y=n}static getTransformInfo(a){const l=window.getComputedStyle(a).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(l.length>=6){const f=parseInt(l[4],10),s=parseInt(l[5],10);return{x:f,y:s}}return{x:0,y:0}}static fromEvent(a,n=null){if(this.isMouseEvent(a))return new V(a.clientX,a.clientY);if(n===null||a.changedTouches.length===1)return new V(a.changedTouches[0].clientX,a.changedTouches[0].clientY);for(let l=0;l<a.changedTouches.length;l++)if(a.changedTouches[l].target===n)return new V(a.changedTouches[l].clientX,a.changedTouches[l].clientY)}static isMouseEvent(a){return Object.prototype.toString.apply(a).indexOf("MouseEvent")===8}static isIPosition(a){return!!a&&"x"in a&&"y"in a}static getCurrent(a){const n=new V(0,0);if(window){const l=window.getComputedStyle(a);if(l){const f=parseInt(l.getPropertyValue("left"),10),s=parseInt(l.getPropertyValue("top"),10);n.x=isNaN(f)?0:f,n.y=isNaN(s)?0:s}return n}return null}static copy(a){return new V(0,0).set(a)}get value(){return{x:this.x,y:this.y}}add(a){return this.x+=a.x,this.y+=a.y,this}subtract(a){return this.x-=a.x,this.y-=a.y,this}multiply(a){this.x*=a,this.y*=a}divide(a){this.x/=a,this.y/=a}reset(){return this.x=0,this.y=0,this}set(a){return this.x=a.x,this.y=a.y,this}}class P{constructor(a,n){this.width=a,this.height=n}static getCurrent(a){const n=new P(0,0);if(window){const l=window.getComputedStyle(a);return l&&(n.width=parseInt(l.getPropertyValue("width"),10),n.height=parseInt(l.getPropertyValue("height"),10)),n}return null}static copy(a){return new P(0,0).set(a)}set(a){return this.width=a.width,this.height=a.height,this}}function me(t,a){const n=e.ref(),l=e.ref(),f=e.ref(),s=e.ref(),h=e.ref(),r=e.ref(),u=e.ref(),c=e.ref(),g=e.ref(),C=e.ref(),M=e.ref(),B=e.ref(),N=e.ref(t.draggable),E=e.ref(!1);function y(){const i=l.value||document.body,d=window.getComputedStyle(i);if(!d||!n.value)return;const x=V.getTransformInfo(n.value),w={};u.value&&(w.deltaL=n.value.offsetLeft-u.value.x,w.deltaT=n.value.offsetTop-u.value.y);const z=d.getPropertyValue("position");w.width=i.clientWidth,w.height=i.clientHeight,w.pr=parseInt(d.getPropertyValue("padding-right"),10),w.pb=parseInt(d.getPropertyValue("padding-bottom"),10),w.position=d.getPropertyValue("position"),z==="static"&&(i.style.position="relative"),w.translateX=x.x,w.translateY=x.y,C.value=w}function v(i){if(n.value){s.value=P.getCurrent(n.value),h.value=V.getCurrent(n.value),r.value=s.value?P.copy(s.value):null,u.value=h.value?V.copy(h.value):null,y();const d=i.target.getAttribute("type")||"";c.value={n:!!d.match(/n/),s:!!d.match(/s/),w:!!d.match(/w/),e:!!d.match(/e/)}}}function T(){var i,d,x,w;if(n.value){const z=n.value;c.value&&((c.value.n||c.value.s)&&((i=r.value)!=null&&i.height)&&(z.style.height=r.value.height+"px"),(c.value.w||c.value.e)&&((d=r.value)!=null&&d.width)&&(z.style.width=r.value.width+"px"),u.value&&((x=u.value)!=null&&x.x&&(z.style.left=u.value.x+"px"),(w=u.value)!=null&&w.y&&(z.style.top=u.value.y+"px")))}}function k(){const i=t.minHeight?t.minHeight:1,d=t.minWidth?t.minWidth:1;r.value&&u.value&&c.value&&s.value&&(r.value.height<i&&(r.value.height=i,c.value.n&&h.value&&(u.value.y=h.value.y+(s.value.height-i))),r.value.width<d&&(r.value.width=d,c.value.w&&h.value&&(u.value.x=h.value.x+(s.value.width-d))),t.maxHeight&&r.value.height>t.maxHeight&&(r.value.height=t.maxHeight,h.value&&c.value.n&&(u.value.y=h.value.y+(s.value.height-t.maxHeight))),t.maxWidth&&r.value.width>t.maxWidth&&(r.value.width=t.maxWidth,c.value.w&&h.value&&(u.value.x=h.value.x+(s.value.width-t.maxWidth))))}function D(){if(l.value){const i=C.value;if(u.value&&r.value&&c.value&&s.value){const d=i.width-i.pr-i.deltaL-i.translateX-u.value.x,x=i.height-i.pb-i.deltaT-i.translateY-u.value.y;c.value.n&&u.value.y+i.translateY<0&&h.value&&(u.value.y=-i.translateY,r.value.height=s.value.height+h.value.y+i.translateY),c.value.w&&u.value.x+i.translateX<0&&h.value&&(u.value.x=-i.translateX,r.value.width=s.value.width+h.value.x+i.translateX),r.value.width>d&&(r.value.width=d),r.value.height>x&&(r.value.height=x)}}}function F(i){if(!f.value||!s.value||!h.value||!c.value)return;i.subtract(f.value);const d=i.x,x=i.y;c.value.n?(u.value.y=h.value.y+x,r.value.height=s.value.height-x):c.value.s&&(r.value.height=s.value.height+x),c.value.e?r.value.width=s.value.width+d:c.value.w&&(r.value.width=s.value.width-d,u.value.x=h.value.x+d),D(),k(),T()}function m(i){if(!g.value)return;const d=V.fromEvent(i);d&&F(d)}function p(){if(n.value){const{width:i,height:d,x,y:w}=n.value.getBoundingClientRect(),z=V.getTransformInfo(n.value);return{size:{width:i,height:d},position:{x:x-z.x,y:w-z.y}}}return null}function R(i){if(n.value){const d=p();M.value=d}f.value=void 0,s.value=null,h.value=null,r.value=null,u.value=null,c.value=null,g.value=null,document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",R)}function I(){document.addEventListener("mousemove",m),document.addEventListener("mouseup",R)}function H(i){i instanceof MouseEvent&&i.button===2||N.value&&(i.stopPropagation(),i.preventDefault(),f.value=V.fromEvent(i),g.value=i.target,v(i),I())}function j(i){return n.value=i,e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"ng-resizable-handle ng-resizable-n",type:"n",onMousedown:d=>H(d)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-e",type:"e",onMousedown:d=>H(d)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-s",type:"s",onMousedown:d=>H(d)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-w",type:"w",onMousedown:d=>H(d)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-ne",type:"ne",onMousedown:d=>H(d)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-se ng-resizable-diagonal",type:"se",onMousedown:d=>H(d)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-sw",type:"sw",onMousedown:d=>H(d)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-nw",type:"nw",onMousedown:d=>H(d)},null)])}function W(i=!0){const d=l.value||document.body,x=P.getCurrent(d),w=n.value;i&&(B.value=p(),B.value.transform=w.style.transform),x&&w&&(r.value=x,w.style.height=r.value.height-14+"px",w.style.width=r.value.width-14+"px",w.style.left="7px",w.style.top="7px",w.style.transform="",M.value={size:r.value,position:{x:0,y:0}},N.value=!1,E.value=!0)}function J(){var i,d;if(B.value){const x={width:B.value.size.width||0,height:B.value.size.height||0},w={x:(window.innerWidth-x.width)/2,y:(window.innerHeight-x.height)/2};(i=r.value)==null||i.set(x),(d=u.value)==null||d.set(w);const z=n.value;z.style.height=x.height+"px",z.style.width=x.width+"px",z.style.left=`${w.x}px`,z.style.top=`${w.y}px`,z.style.transform="",M.value={size:x,position:w},N.value=t.draggable,E.value=!1}}function K(){if(n.value){const i=P.getCurrent(n.value);if(i){const{width:d,height:x}=i;n.value.style.left=`${(window.innerWidth-d)/2}px`,n.value.style.top=`${(window.innerHeight-x)/2}px`,n.value.style.transform=""}}}function G(){const i=()=>{E.value?W(!1):K()};return window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i)}}const Y=G();return{renderResizeBar:j,boundingElement:l,resizedEventParam:M,maximize:W,restore:J,allowDrag:N,isMaximized:E,unWindowResizeHandle:Y}}function ge(t,a){const n=e.ref(),l=e.ref(t.draggable),f=e.ref(t.lockAxis),s=e.ref(),h=e.ref(),r=e.ref(!1),u=e.ref(new V(0,0)),c=e.ref(new V(0,0)),g=e.ref(new V(0,0)),C=e.ref(new V(0,0));function M(m,p){if(p.tagName==="BUTTON")return!1;if(p===m)return!0;for(const R in p.children)if(p.children.hasOwnProperty(R)&&M(m,p.children[R]))return!0;return!1}function B(){var I,H;let m=g.value.x+c.value.x,p=g.value.y+c.value.y;f.value==="x"?(m=((I=u.value)==null?void 0:I.x)||0,g.value.x=0):f.value==="y"&&(p=((H=u.value)==null?void 0:H.y)||0,g.value.y=0);const R=`translate3d(${Math.round(m)}px, ${Math.round(p)}px, 0px)`;n.value&&(n.value.style.transform=R),C.value.x=m,C.value.y=p}function N(){if(!h.value||!n.value)return null;const m=h.value.getBoundingClientRect(),p=n.value.getBoundingClientRect(),R={top:m.top<p.top,right:m.right>p.right,bottom:m.bottom>p.bottom,left:m.left<p.left};return R.top||(g.value.y-=p.top-m.top),R.bottom||(g.value.y-=p.bottom-m.bottom),R.right||(g.value.x-=p.right-m.right),R.left||(g.value.x-=p.left-m.left),B(),R}function E(m){m&&(u.value&&m.subtract(u.value),g.value.set(m),B(),N())}function y(m){r.value&&l.value&&(m.stopPropagation(),m.preventDefault(),E(V.fromEvent(m,s.value)))}function v(){var m;r.value&&(r.value=!1,c.value.add(g.value),g.value.reset(),(m=n.value)==null||m.classList.remove("ng-dragging"),document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",v))}function T(){!r.value&&s.value&&(r.value=!0,s.value.classList.add("ng-dragging"),document.addEventListener("mousemove",y),document.addEventListener("mouseup",v))}function k(){if(n.value){const m=V.getTransformInfo(n.value);c.value.set(m);return}c.value.reset()}function D(m){if(m instanceof MouseEvent&&m.button===2)return;const p=m.target||m.srcElement;s.value!==void 0&&p&&!M(p,s.value)||l.value!==!1&&(m.stopPropagation(),m.preventDefault(),u.value=V.fromEvent(m,n.value),k(),T())}function F(m,p,R){if(m&&l.value&&p){if(t.dragHandle){if(t.dragHandle instanceof HTMLElement)s.value=t.dragHandle;else if(typeof t.dragHandle=="string"){const I=p.querySelector(t.dragHandle);I&&(s.value=I)}}else s.value=m;n.value=p,h.value=R,s.value.classList.add("ng-draggable"),s.value.addEventListener("mousedown",D)}}return{registerDraggle:F,resetTranslate:k}}function ve(t,a){const n=e.ref(t.enableEsc);function l(f){f.key==="Escape"&&t.enableEsc&&a.emit("esc",{event:f,type:"esc"})}n.value&&document.addEventListener("keydown",l)}const Z=e.defineComponent({name:"FModal",props:he,emits:["update:modelValue","accept","cancel","closed","resize","esc"],setup(t,a){const n=e.ref(t.width||300),l=e.ref(t.height||200),f=e.ref(t.modelValue),s=e.ref(""),h=e.ref(t.class),r=e.ref(t.fitContent),u=e.ref(t.showHeader),c=e.ref(""),g=e.ref(t.showCloseButton),C=e.ref(t.showMaxButton),M=e.ref(!1),B=e.ref(""),N=e.ref(""),E=e.ref(""),y=e.ref(t.showButtons),v=e.ref(t.title),T=e.ref(t.reiszeable),k=e.ref(t.containment||null),D=e.ref();function F(o,b){f.value=!1,a.emit("update:modelValue",!1),b!=null&&a.emit(b?"accept":"cancel"),a.emit("closed",o)}const m=[{name:"cancel",text:"取消",class:"btn btn-light",handle:o=>{F(o,!1)}},{name:"accept",text:"确定",class:"btn btn-primary",handle:o=>{F(o,!0)}}],p=e.ref(t.buttons&&t.buttons.length?t.buttons:m),R=e.computed(()=>!!c.value),I=e.computed(()=>!!y.value&&!!p.value),H=e.ref(),j=e.ref(),W=e.ref(!1),{renderResizeBar:J,maximize:K,restore:G,boundingElement:Y,resizedEventParam:i,allowDrag:d,unWindowResizeHandle:x}=me(t),{registerDraggle:w}=ge(t);e.watch(()=>t.title,(o,b)=>{o!==b&&(v.value=o)}),e.watch(()=>t.modelValue,(o,b)=>{o!==b&&(f.value=o)}),e.watch(()=>t.showHeader,(o,b)=>{o!==b&&(u.value=o)}),e.watch(()=>t.showButtons,(o,b)=>{o!==b&&(y.value=o)}),e.watch(()=>i.value,(o,b)=>{const X=o||{},U=b||{};JSON.stringify(X)!==JSON.stringify(U)&&a.emit("resize",{newSize:o,oldSize:b})});function z(){const o=document.querySelectorAll(".farris-modal").length;(!o||o-1<=0)&&document.body.classList.remove("modal-open"),D.value&&D.value.classList.remove("show")}const Q=e.computed(()=>(f.value?document.body.classList.add("modal-open"):z(),f.value)),we=e.computed(()=>{const o={modal:!0,"farris-modal":!0,fade:!0};return o["f-modal-fitContent"]=!!r.value,o.show=!!Q.value,o}),xe=e.computed(()=>{var X;const o={"modal-dialog":!0},b=(X=h.value)==null?void 0:X.split(" ");return b==null||b.reduce((U,He)=>(U[He]=!0,U),o),o}),be=e.computed(()=>({position:"absolute",top:`${(window.innerHeight-l.value)/2}px`,left:`${(window.innerWidth-n.value)/2}px`,width:`${n.value}px`,height:r.value?"auto":`${l.value}px`})),Ce=e.computed(()=>({"modal-content":!0,"modal-content-has-header":u.value})),Me=e.computed(()=>{const o={display:u.value?"":"none"};return o["pointer-events"]=d.value?"auto":"none",o}),Te=e.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:W.value})),Be=e.computed(()=>({"modal-body":!0,"f-utils-flex-column":B.value==="iframe"}));function Ve(){return{}}const ke=e.computed(()=>{const o={textAlgin:E.value},b=Ve();return Object.assign(o,b)});function Ne(o){if(o.stopPropagation(),W.value){W.value=!1,G();return}K(),W.value=!0}async function ze(o,b){o.handle&&await o.handle(b,o)&&a.emit("closed",b)}function Ee(o){o.width&&(n.value=o.width),o.height&&(l.value=o.height),o.buttons&&(p.value=o.buttons),o.title&&(v.value=o.title)}e.onMounted(()=>{j.value&&!k.value&&(k.value=j.value.parentElement,Y.value=k.value,w(H.value,j.value,Y.value)),Q.value&&document.body.classList.add("modal-open"),ve(t,a)}),e.onUnmounted(()=>{z(),x&&x()}),a.expose({modalElementRef:j,updateModalOptions:Ee,close:F});function Re(){return e.createVNode("ul",null,[M.value&&e.createVNode("li",{class:"f-btn-icon f-bare"},[e.createVNode("span",{class:"f-icon modal_minimize"},null)]),C.value&&e.createVNode("li",{onClick:Ne,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[e.createVNode("span",{class:Te.value},null)]),g.value&&e.createVNode("li",{class:"f-btn-icon f-bare",onClick:o=>F(o,!1),style:"pointer-events: auto;"},[e.createVNode("span",{class:"f-icon modal_close"},null)])])}function Se(){return e.createVNode("div",{class:"modal-footer",style:ke.value},[p.value&&p.value.map(o=>e.createVNode("button",{name:o.name,type:"button",class:o.class+(o.iconClass?" btn-icontext":""),onClick:b=>{ze(o,b)}},[!!o.iconClass&&e.createVNode("i",{class:o.iconClass},null),o.text]))])}return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>{var o,b;return[Q.value&&e.createVNode("div",{class:we.value,style:"display: block",ref:D},[e.createVNode("div",{id:s.value,class:xe.value,style:be.value,ref:j},[e.createVNode("div",{class:Ce.value},[e.createVNode("div",{ref:H,class:"modal-header",style:Me.value},[e.createVNode("div",{class:"modal-title"},[R.value&&e.createVNode("span",{class:c.value,style:"margin-right: 8px"},null),e.createVNode("span",{class:"modal-title-label"},[v.value])]),e.createVNode("div",{class:"actions"},[Re()])]),e.createVNode("div",{class:Be.value},[(b=(o=a.slots).default)==null?void 0:b.call(o),B.value==="iframe"&&e.createVNode("iframe",{title:s.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:N.value},null)]),I.value&&Se()]),!r.value&&T.value&&j.value&&J(j.value)])])]}})}});function _(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function pe(t){const a=document.createElement("div");a.style.display="contents";const n=e.createApp({setup(l,f){e.onUnmounted(()=>{document.body.removeChild(a)});const s=e.ref(),h=e.ref(t.class||""),r=e.ref(!!t.showButtons),u=e.ref(!!t.showHeader),c=e.ref(t.showCloseButton==null?!0:t.showCloseButton),g=e.ref(!0),C=e.ref(t.title||""),M=t.acceptCallback||(()=>{}),B=t.rejectCallback||(()=>{}),N=t.closedCallback||(T=>{}),E=t.resizeHandle||(T=>{}),y=_(t),v=T=>{g.value=!1,n.unmount(),N(T)};return e.onMounted(()=>{}),f.expose({modalRef:s}),()=>e.createVNode(Z,{ref:s,class:h.value,modelValue:g.value,"onUpdate:modelValue":T=>g.value=T,title:C.value,width:t.width,height:t.height,buttons:t.buttons,"show-header":u.value,"show-buttons":r.value,"show-close-button":c.value,"show-max-button":!1,onAccept:M,onCancel:B,fitContent:t.fitContent==null?!0:t.fitContent,onClosed:v,onResize:E},{default:()=>[y&&y(n)]})}});return document.body.appendChild(a),n.mount(a),n}class ye{constructor(a){A(this,"appContext",null);A(this,"modalRef",e.ref());A(this,"activeModalIndex",e.ref(0));A(this,"modalRefs",{});A(this,"isUseEscCloseModal",e.ref(!1));A(this,"activeModalInstance",e.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.appContext=a?a._context:null}getCurrentModal(){return this.activeModalInstance.value}static show(a){const n=Object.assign({title:"",showButtons:!0,showHeader:!0},a);return pe(n)}open(a){const n=document.createDocumentFragment();a.showMaxButton&&a.fitContent&&(a.showMaxButton=!1);const l=e.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},a)),f=e.ref(!0),s=l.value.acceptCallback||(()=>{}),h=l.value.rejectCallback||(()=>{}),r=l.value.closedCallback||((v,T)=>{}),u=l.value.resizeHandle||(v=>{});let c;const g=_(l.value),C=v=>{var k;f.value=!1;const T=(k=v==null?void 0:v.target)==null?void 0:k.classList.contains("modal_close");r(v,this.isUseEscCloseModal.value?"esc":T?"icon":"button")},M=v=>{C(v),c&&e.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],e.render(null,n),c=null,this.modalRef.value=null,this.modalRefs){const T=Object.keys(this.modalRefs);T.length>0?this.activeModalIndex.value=Math.max(...T):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},B=v=>{var T;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((T=this.activeModalInstance.value)==null||T.close(v==null?void 0:v.event))},N=()=>e.createVNode(Z,e.mergeProps({ref:this.modalRef,modelValue:f.value,"onUpdate:modelValue":v=>f.value=v},l.value,{onAccept:s,onCancel:h,onClosed:M,onResize:u,onEsc:B}),{default:()=>[g&&g()]});return c=(v=>{const T=e.h(N,v);return T.appContext=this.appContext,e.render(T,n),T})({...l.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:v=>{l.value={...l.value,...v},c&&e.render(e.cloneVNode(c,{...l}),n)},destroy:M,modalRef:this.activeModalInstance}}}class O{static show(a){let n=new ye;const l=e.reactive({...a}),f=!1,s=l.type==="error"||l.type==="prompt",h=l.type==="error"?"错误提示":l.type==="prompt"&&l.title||"",r=l.acceptCallback||(()=>{}),u=l.rejectCallback||(()=>{});let c=null;const g=()=>{c&&(c==null||c.destroy(),n=null)};c=n==null?void 0:n.open({class:"modal-message modal-message-type-info",title:h,showButtons:f,showHeader:s,width:l.width||400,fitContent:!0,showMaxButton:!1,render:()=>e.createVNode($,e.mergeProps(l,{onAccept:r,onReject:u,onClose:g}),null)})}static info(a,n){const l=e.reactive({type:"info",title:a,detail:n,okButtonText:"知道了",cancelButtonText:""});O.show(l)}static warning(a,n){const l=e.reactive({type:"warning",title:a,detail:n,okButtonText:"知道了",cancelButtonText:""});O.show(l)}static success(a,n){const l=e.reactive({type:"success",title:a,detail:n,okButtonText:"关闭",cancelButtonText:""});O.show(l)}static error(a,n,l){const f=e.reactive({width:500,type:"error",okButtonText:"关闭",cancelButtonText:"",exceptionInfo:{date:l,message:a,detail:n}});O.show(f)}static prompt(a,n){const l=e.reactive({type:"prompt",title:a,detail:n,okButtonText:"确定",cancelButtonText:"取消"});O.show(l)}static question(a,n,l,f){const s=e.reactive({type:"question",title:a,detail:n,okButtonText:"确定",cancelButtonText:"取消",acceptCallback:l,rejectCallback:f});O.show(s)}}$.install=t=>{t.component($.name,$),t.provide("FMessageBoxService",O)},S.FMessageBox=$,S.FMessageBoxService=O,S.default=$,S.messageBoxProps=L,Object.defineProperties(S,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(z,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(z=typeof globalThis<"u"?globalThis:z||self,e(z.modal={},z.Vue))})(this,function(z,e){"use strict";var be=Object.defineProperty;var xe=(z,e,P)=>e in z?be(z,e,{enumerable:!0,configurable:!0,writable:!0,value:P}):z[e]=P;var W=(z,e,P)=>xe(z,typeof e!="symbol"?e+"":e,P);const P={class:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},reiszeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0}};class C{constructor(t,n){this.x=t,this.y=n}static getTransformInfo(t){const i=window.getComputedStyle(t).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(i.length>=6){const b=parseInt(i[4],10),c=parseInt(i[5],10);return{x:b,y:c}}return{x:0,y:0}}static fromEvent(t,n=null){if(this.isMouseEvent(t))return new C(t.clientX,t.clientY);if(n===null||t.changedTouches.length===1)return new C(t.changedTouches[0].clientX,t.changedTouches[0].clientY);for(let i=0;i<t.changedTouches.length;i++)if(t.changedTouches[i].target===n)return new C(t.changedTouches[i].clientX,t.changedTouches[i].clientY)}static isMouseEvent(t){return Object.prototype.toString.apply(t).indexOf("MouseEvent")===8}static isIPosition(t){return!!t&&"x"in t&&"y"in t}static getCurrent(t){const n=new C(0,0);if(window){const i=window.getComputedStyle(t);if(i){const b=parseInt(i.getPropertyValue("left"),10),c=parseInt(i.getPropertyValue("top"),10);n.x=isNaN(b)?0:b,n.y=isNaN(c)?0:c}return n}return null}static copy(t){return new C(0,0).set(t)}get value(){return{x:this.x,y:this.y}}add(t){return this.x+=t.x,this.y+=t.y,this}subtract(t){return this.x-=t.x,this.y-=t.y,this}multiply(t){this.x*=t,this.y*=t}divide(t){this.x/=t,this.y/=t}reset(){return this.x=0,this.y=0,this}set(t){return this.x=t.x,this.y=t.y,this}}class j{constructor(t,n){this.width=t,this.height=n}static getCurrent(t){const n=new j(0,0);if(window){const i=window.getComputedStyle(t);return i&&(n.width=parseInt(i.getPropertyValue("width"),10),n.height=parseInt(i.getPropertyValue("height"),10)),n}return null}static copy(t){return new j(0,0).set(t)}set(t){return this.width=t.width,this.height=t.height,this}}function Z(a,t){const n=e.ref(),i=e.ref(),b=e.ref(),c=e.ref(),m=e.ref(),u=e.ref(),d=e.ref(),f=e.ref(),x=e.ref(),R=e.ref(),N=e.ref(),E=e.ref(),H=e.ref(a.draggable),I=e.ref(!1);function T(){const o=i.value||document.body,s=window.getComputedStyle(o);if(!s||!n.value)return;const y=C.getTransformInfo(n.value),v={};d.value&&(v.deltaL=n.value.offsetLeft-d.value.x,v.deltaT=n.value.offsetTop-d.value.y);const M=s.getPropertyValue("position");v.width=o.clientWidth,v.height=o.clientHeight,v.pr=parseInt(s.getPropertyValue("padding-right"),10),v.pb=parseInt(s.getPropertyValue("padding-bottom"),10),v.position=s.getPropertyValue("position"),M==="static"&&(o.style.position="relative"),v.translateX=y.x,v.translateY=y.y,R.value=v}function g(o){if(n.value){c.value=j.getCurrent(n.value),m.value=C.getCurrent(n.value),u.value=c.value?j.copy(c.value):null,d.value=m.value?C.copy(m.value):null,T();const s=o.target.getAttribute("type")||"";f.value={n:!!s.match(/n/),s:!!s.match(/s/),w:!!s.match(/w/),e:!!s.match(/e/)}}}function p(){var o,s,y,v;if(n.value){const M=n.value;f.value&&((f.value.n||f.value.s)&&((o=u.value)!=null&&o.height)&&(M.style.height=u.value.height+"px"),(f.value.w||f.value.e)&&((s=u.value)!=null&&s.width)&&(M.style.width=u.value.width+"px"),d.value&&((y=d.value)!=null&&y.x&&(M.style.left=d.value.x+"px"),(v=d.value)!=null&&v.y&&(M.style.top=d.value.y+"px")))}}function k(){const o=a.minHeight?a.minHeight:1,s=a.minWidth?a.minWidth:1;u.value&&d.value&&f.value&&c.value&&(u.value.height<o&&(u.value.height=o,f.value.n&&m.value&&(d.value.y=m.value.y+(c.value.height-o))),u.value.width<s&&(u.value.width=s,f.value.w&&m.value&&(d.value.x=m.value.x+(c.value.width-s))),a.maxHeight&&u.value.height>a.maxHeight&&(u.value.height=a.maxHeight,m.value&&f.value.n&&(d.value.y=m.value.y+(c.value.height-a.maxHeight))),a.maxWidth&&u.value.width>a.maxWidth&&(u.value.width=a.maxWidth,f.value.w&&m.value&&(d.value.x=m.value.x+(c.value.width-a.maxWidth))))}function F(){if(i.value){const o=R.value;if(d.value&&u.value&&f.value&&c.value){const s=o.width-o.pr-o.deltaL-o.translateX-d.value.x,y=o.height-o.pb-o.deltaT-o.translateY-d.value.y;f.value.n&&d.value.y+o.translateY<0&&m.value&&(d.value.y=-o.translateY,u.value.height=c.value.height+m.value.y+o.translateY),f.value.w&&d.value.x+o.translateX<0&&m.value&&(d.value.x=-o.translateX,u.value.width=c.value.width+m.value.x+o.translateX),u.value.width>s&&(u.value.width=s),u.value.height>y&&(u.value.height=y)}}}function L(o){if(!b.value||!c.value||!m.value||!f.value)return;o.subtract(b.value);const s=o.x,y=o.y;f.value.n?(d.value.y=m.value.y+y,u.value.height=c.value.height-y):f.value.s&&(u.value.height=c.value.height+y),f.value.e?u.value.width=c.value.width+s:f.value.w&&(u.value.width=c.value.width-s,d.value.x=m.value.x+s),F(),k(),p()}function r(o){if(!x.value)return;const s=C.fromEvent(o);s&&L(s)}function h(){if(n.value){const{width:o,height:s,x:y,y:v}=n.value.getBoundingClientRect(),M=C.getTransformInfo(n.value);return{size:{width:o,height:s},position:{x:y-M.x,y:v-M.y}}}return null}function V(o){if(n.value){const s=h();N.value=s}b.value=void 0,c.value=null,m.value=null,u.value=null,d.value=null,f.value=null,x.value=null,document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",V)}function O(){document.addEventListener("mousemove",r),document.addEventListener("mouseup",V)}function B(o){o instanceof MouseEvent&&o.button===2||H.value&&(o.stopPropagation(),o.preventDefault(),b.value=C.fromEvent(o),x.value=o.target,g(o),O())}function S(o){return n.value=o,e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"ng-resizable-handle ng-resizable-n",type:"n",onMousedown:s=>B(s)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-e",type:"e",onMousedown:s=>B(s)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-s",type:"s",onMousedown:s=>B(s)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-w",type:"w",onMousedown:s=>B(s)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-ne",type:"ne",onMousedown:s=>B(s)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-se ng-resizable-diagonal",type:"se",onMousedown:s=>B(s)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-sw",type:"sw",onMousedown:s=>B(s)},null),e.createVNode("div",{class:"ng-resizable-handle ng-resizable-nw",type:"nw",onMousedown:s=>B(s)},null)])}function D(o=!0){const s=i.value||document.body,y=j.getCurrent(s),v=n.value;o&&(E.value=h(),E.value.transform=v.style.transform),y&&v&&(u.value=y,v.style.height=u.value.height-14+"px",v.style.width=u.value.width-14+"px",v.style.left="7px",v.style.top="7px",v.style.transform="",N.value={size:u.value,position:{x:0,y:0}},H.value=!1,I.value=!0)}function $(){var o,s;if(E.value){const y={width:E.value.size.width||0,height:E.value.size.height||0},v={x:(window.innerWidth-y.width)/2,y:(window.innerHeight-y.height)/2};(o=u.value)==null||o.set(y),(s=d.value)==null||s.set(v);const M=n.value;M.style.height=y.height+"px",M.style.width=y.width+"px",M.style.left=`${v.x}px`,M.style.top=`${v.y}px`,M.style.transform="",N.value={size:y,position:v},H.value=a.draggable,I.value=!1}}function _(){if(n.value){const o=j.getCurrent(n.value);if(o){const{width:s,height:y}=o;n.value.style.left=`${(window.innerWidth-s)/2}px`,n.value.style.top=`${(window.innerHeight-y)/2}px`,n.value.style.transform=""}}}function q(){const o=()=>{I.value?D(!1):_()};return window.addEventListener("resize",o),()=>{window.removeEventListener("resize",o)}}const A=q();return{renderResizeBar:S,boundingElement:i,resizedEventParam:N,maximize:D,restore:$,allowDrag:H,isMaximized:I,unWindowResizeHandle:A}}function ee(a,t){const n=e.ref(),i=e.ref(a.draggable),b=e.ref(a.lockAxis),c=e.ref(),m=e.ref(),u=e.ref(!1),d=e.ref(new C(0,0)),f=e.ref(new C(0,0)),x=e.ref(new C(0,0)),R=e.ref(new C(0,0));function N(r,h){if(h.tagName==="BUTTON")return!1;if(h===r)return!0;for(const V in h.children)if(h.children.hasOwnProperty(V)&&N(r,h.children[V]))return!0;return!1}function E(){var O,B;let r=x.value.x+f.value.x,h=x.value.y+f.value.y;b.value==="x"?(r=((O=d.value)==null?void 0:O.x)||0,x.value.x=0):b.value==="y"&&(h=((B=d.value)==null?void 0:B.y)||0,x.value.y=0);const V=`translate3d(${Math.round(r)}px, ${Math.round(h)}px, 0px)`;n.value&&(n.value.style.transform=V),R.value.x=r,R.value.y=h}function H(){if(!m.value||!n.value)return null;const r=m.value.getBoundingClientRect(),h=n.value.getBoundingClientRect(),V={top:r.top<h.top,right:r.right>h.right,bottom:r.bottom>h.bottom,left:r.left<h.left};return V.top||(x.value.y-=h.top-r.top),V.bottom||(x.value.y-=h.bottom-r.bottom),V.right||(x.value.x-=h.right-r.right),V.left||(x.value.x-=h.left-r.left),E(),V}function I(r){r&&(d.value&&r.subtract(d.value),x.value.set(r),E(),H())}function T(r){u.value&&i.value&&(r.stopPropagation(),r.preventDefault(),I(C.fromEvent(r,c.value)))}function g(){var r;u.value&&(u.value=!1,f.value.add(x.value),x.value.reset(),(r=n.value)==null||r.classList.remove("ng-dragging"),document.removeEventListener("mousemove",T),document.removeEventListener("mouseup",g))}function p(){!u.value&&c.value&&(u.value=!0,c.value.classList.add("ng-dragging"),document.addEventListener("mousemove",T),document.addEventListener("mouseup",g))}function k(){if(n.value){const r=C.getTransformInfo(n.value);f.value.set(r);return}f.value.reset()}function F(r){if(r instanceof MouseEvent&&r.button===2)return;const h=r.target||r.srcElement;c.value!==void 0&&h&&!N(h,c.value)||i.value!==!1&&(r.stopPropagation(),r.preventDefault(),d.value=C.fromEvent(r,n.value),k(),p())}function L(r,h,V){if(r&&i.value&&h){if(a.dragHandle){if(a.dragHandle instanceof HTMLElement)c.value=a.dragHandle;else if(typeof a.dragHandle=="string"){const O=h.querySelector(a.dragHandle);O&&(c.value=O)}}else c.value=r;n.value=h,m.value=V,c.value.classList.add("ng-draggable"),c.value.addEventListener("mousedown",F)}}return{registerDraggle:L,resetTranslate:k}}function te(a,t){const n=e.ref(a.enableEsc);function i(b){b.key==="Escape"&&a.enableEsc&&t.emit("esc",{event:b,type:"esc"})}n.value&&document.addEventListener("keydown",i)}const X=e.defineComponent({name:"FModal",props:P,emits:["update:modelValue","accept","cancel","closed","resize","esc"],setup(a,t){const n=e.ref(a.width||300),i=e.ref(a.height||200),b=e.ref(a.modelValue),c=e.ref(""),m=e.ref(a.class),u=e.ref(a.fitContent),d=e.ref(a.showHeader),f=e.ref(""),x=e.ref(a.showCloseButton),R=e.ref(a.showMaxButton),N=e.ref(!1),E=e.ref(""),H=e.ref(""),I=e.ref(""),T=e.ref(a.showButtons),g=e.ref(a.title),p=e.ref(a.reiszeable),k=e.ref(a.containment||null),F=e.ref();function L(l,w){b.value=!1,t.emit("update:modelValue",!1),w!=null&&t.emit(w?"accept":"cancel"),t.emit("closed",l)}const r=[{name:"cancel",text:"取消",class:"btn btn-light",handle:l=>{L(l,!1)}},{name:"accept",text:"确定",class:"btn btn-primary",handle:l=>{L(l,!0)}}],h=e.ref(a.buttons&&a.buttons.length?a.buttons:r),V=e.computed(()=>!!f.value),O=e.computed(()=>!!T.value&&!!h.value),B=e.ref(),S=e.ref(),D=e.ref(!1),{renderResizeBar:$,maximize:_,restore:q,boundingElement:A,resizedEventParam:o,allowDrag:s,unWindowResizeHandle:y}=Z(a),{registerDraggle:v}=ee(a);e.watch(()=>a.title,(l,w)=>{l!==w&&(g.value=l)}),e.watch(()=>a.modelValue,(l,w)=>{l!==w&&(b.value=l)}),e.watch(()=>a.showHeader,(l,w)=>{l!==w&&(d.value=l)}),e.watch(()=>a.showButtons,(l,w)=>{l!==w&&(T.value=l)}),e.watch(()=>o.value,(l,w)=>{const Y=l||{},U=w||{};JSON.stringify(Y)!==JSON.stringify(U)&&t.emit("resize",{newSize:l,oldSize:w})});function M(){const l=document.querySelectorAll(".farris-modal").length;(!l||l-1<=0)&&document.body.classList.remove("modal-open"),F.value&&F.value.classList.remove("show")}const K=e.computed(()=>(b.value?document.body.classList.add("modal-open"):M(),b.value)),ne=e.computed(()=>{const l={modal:!0,"farris-modal":!0,fade:!0};return l["f-modal-fitContent"]=!!u.value,l.show=!!K.value,l}),oe=e.computed(()=>{var Y;const l={"modal-dialog":!0},w=(Y=m.value)==null?void 0:Y.split(" ");return w==null||w.reduce((U,we)=>(U[we]=!0,U),l),l}),se=e.computed(()=>({position:"absolute",top:`${(window.innerHeight-i.value)/2}px`,left:`${(window.innerWidth-n.value)/2}px`,width:`${n.value}px`,height:u.value?"auto":`${i.value}px`})),ie=e.computed(()=>({"modal-content":!0,"modal-content-has-header":d.value})),ue=e.computed(()=>{const l={display:d.value?"":"none"};return l["pointer-events"]=s.value?"auto":"none",l}),re=e.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:D.value})),ce=e.computed(()=>({"modal-body":!0,"f-utils-flex-column":E.value==="iframe"}));function de(){return{}}const fe=e.computed(()=>{const l={textAlgin:I.value},w=de();return Object.assign(l,w)});function he(l){if(l.stopPropagation(),D.value){D.value=!1,q();return}_(),D.value=!0}async function ve(l,w){l.handle&&await l.handle(w,l)&&t.emit("closed",w)}function me(l){l.width&&(n.value=l.width),l.height&&(i.value=l.height),l.buttons&&(h.value=l.buttons),l.title&&(g.value=l.title)}e.onMounted(()=>{S.value&&!k.value&&(k.value=S.value.parentElement,A.value=k.value,v(B.value,S.value,A.value)),K.value&&document.body.classList.add("modal-open"),te(a,t)}),e.onUnmounted(()=>{M(),y&&y()}),t.expose({modalElementRef:S,updateModalOptions:me,close:L});function ge(){return e.createVNode("ul",null,[N.value&&e.createVNode("li",{class:"f-btn-icon f-bare"},[e.createVNode("span",{class:"f-icon modal_minimize"},null)]),R.value&&e.createVNode("li",{onClick:he,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[e.createVNode("span",{class:re.value},null)]),x.value&&e.createVNode("li",{class:"f-btn-icon f-bare",onClick:l=>L(l,!1),style:"pointer-events: auto;"},[e.createVNode("span",{class:"f-icon modal_close"},null)])])}function ye(){return e.createVNode("div",{class:"modal-footer",style:fe.value},[h.value&&h.value.map(l=>e.createVNode("button",{name:l.name,type:"button",class:l.class+(l.iconClass?" btn-icontext":""),onClick:w=>{ve(l,w)}},[!!l.iconClass&&e.createVNode("i",{class:l.iconClass},null),l.text]))])}return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>{var l,w;return[K.value&&e.createVNode("div",{class:ne.value,style:"display: block",ref:F},[e.createVNode("div",{id:c.value,class:oe.value,style:se.value,ref:S},[e.createVNode("div",{class:ie.value},[e.createVNode("div",{ref:B,class:"modal-header",style:ue.value},[e.createVNode("div",{class:"modal-title"},[V.value&&e.createVNode("span",{class:f.value,style:"margin-right: 8px"},null),e.createVNode("span",{class:"modal-title-label"},[g.value])]),e.createVNode("div",{class:"actions"},[ge()])]),e.createVNode("div",{class:ce.value},[(w=(l=t.slots).default)==null?void 0:w.call(l),E.value==="iframe"&&e.createVNode("iframe",{title:c.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:H.value},null)]),O.value&&ye()]),!u.value&&p.value&&S.value&&$(S.value)])])]}})}});function J(a){if(a.content&&a.content.render)return a.content.render;if(a.render&&typeof a.render=="function")return a.render}function ae(a){const t=document.createElement("div");t.style.display="contents";const n=e.createApp({setup(i,b){e.onUnmounted(()=>{document.body.removeChild(t)});const c=e.ref(),m=e.ref(a.class||""),u=e.ref(!!a.showButtons),d=e.ref(!!a.showHeader),f=e.ref(a.showCloseButton==null?!0:a.showCloseButton),x=e.ref(!0),R=e.ref(a.title||""),N=a.acceptCallback||(()=>{}),E=a.rejectCallback||(()=>{}),H=a.closedCallback||(p=>{}),I=a.resizeHandle||(p=>{}),T=J(a),g=p=>{x.value=!1,n.unmount(),H(p)};return e.onMounted(()=>{}),b.expose({modalRef:c}),()=>e.createVNode(X,{ref:c,class:m.value,modelValue:x.value,"onUpdate:modelValue":p=>x.value=p,title:R.value,width:a.width,height:a.height,buttons:a.buttons,"show-header":d.value,"show-buttons":u.value,"show-close-button":f.value,"show-max-button":!1,onAccept:N,onCancel:E,fitContent:a.fitContent==null?!0:a.fitContent,onClosed:g,onResize:I},{default:()=>[T&&T(n)]})}});return document.body.appendChild(t),n.mount(t),n}class G{constructor(t){W(this,"appContext",null);W(this,"modalRef",e.ref());W(this,"activeModalIndex",e.ref(0));W(this,"modalRefs",{});W(this,"isUseEscCloseModal",e.ref(!1));W(this,"activeModalInstance",e.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.appContext=t?t._context:null}getCurrentModal(){return this.activeModalInstance.value}static show(t){const n=Object.assign({title:"",showButtons:!0,showHeader:!0},t);return ae(n)}open(t){const n=document.createDocumentFragment();t.showMaxButton&&t.fitContent&&(t.showMaxButton=!1);const i=e.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},t)),b=e.ref(!0),c=i.value.acceptCallback||(()=>{}),m=i.value.rejectCallback||(()=>{}),u=i.value.closedCallback||((g,p)=>{}),d=i.value.resizeHandle||(g=>{});let f;const x=J(i.value),R=g=>{var k;b.value=!1;const p=(k=g==null?void 0:g.target)==null?void 0:k.classList.contains("modal_close");u(g,this.isUseEscCloseModal.value?"esc":p?"icon":"button")},N=g=>{R(g),f&&e.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],e.render(null,n),f=null,this.modalRef.value=null,this.modalRefs){const p=Object.keys(this.modalRefs);p.length>0?this.activeModalIndex.value=Math.max(...p):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},E=g=>{var p;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((p=this.activeModalInstance.value)==null||p.close(g==null?void 0:g.event))},H=()=>e.createVNode(X,e.mergeProps({ref:this.modalRef,modelValue:b.value,"onUpdate:modelValue":g=>b.value=g},i.value,{onAccept:c,onCancel:m,onClosed:N,onResize:d,onEsc:E}),{default:()=>[x&&x()]});return f=(g=>{const p=e.h(H,g);return p.appContext=this.appContext,e.render(p,n),p})({...i.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:g=>{i.value={...i.value,...g},f&&e.render(e.cloneVNode(f,{...i}),n)},destroy:N,modalRef:this.activeModalInstance}}}const Q=Symbol("FModalService"),le={install(a){a.component(X.name,X);const t=new G(a);a.provide(Q,t),a.provide("FModalService",t)}};z.FModal=X,z.FModalService=G,z.F_MODAL_SERVICE_TOKEN=Q,z.default=le,z.modalProps=P,Object.defineProperties(z,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|