@gopowerteam/modal-render 0.0.2 → 0.0.3

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.
@@ -2,14 +2,14 @@ import type { Component } from 'vue';
2
2
  import type { SizeOptions } from '../interfaces';
3
3
  declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
4
4
  id: string;
5
- formId?: string;
5
+ form?: string;
6
6
  component: Component;
7
7
  componentProps: Record<string, any>;
8
8
  width?: number | string;
9
9
  maxWidth?: number | string;
10
10
  maxHeight?: number | string;
11
11
  sizes: SizeOptions;
12
- size: 'small' | 'middle' | 'large';
12
+ size: 'small' | 'middle' | 'large' | 'fullscreen';
13
13
  title?: string;
14
14
  header?: boolean;
15
15
  footer?: boolean;
@@ -30,14 +30,14 @@ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_T
30
30
  submit: (...args: any[]) => void;
31
31
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
32
32
  id: string;
33
- formId?: string;
33
+ form?: string;
34
34
  component: Component;
35
35
  componentProps: Record<string, any>;
36
36
  width?: number | string;
37
37
  maxWidth?: number | string;
38
38
  maxHeight?: number | string;
39
39
  sizes: SizeOptions;
40
- size: 'small' | 'middle' | 'large';
40
+ size: 'small' | 'middle' | 'large' | 'fullscreen';
41
41
  title?: string;
42
42
  header?: boolean;
43
43
  footer?: boolean;
@@ -61,7 +61,7 @@ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_T
61
61
  closeable: boolean;
62
62
  footer: boolean;
63
63
  maskClosable: boolean;
64
- size: 'small' | 'middle' | 'large';
64
+ size: 'small' | 'middle' | 'large' | 'fullscreen';
65
65
  esc: boolean;
66
66
  draggable: boolean;
67
67
  }, {}>;
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue");const B=Symbol("__MODAL__");function R(o){return e.getCurrentScope()?(e.onScopeDispose(o),!0):!1}function g(o){return typeof o=="function"?o():e.unref(o)}const V=typeof window<"u"&&typeof document<"u",W=Object.prototype.toString,D=o=>W.call(o)==="[object Object]",T=()=>{};function F(o,a={}){if(!e.isRef(o))return e.toRefs(o);const t=Array.isArray(o.value)?Array.from({length:o.value.length}):{};for(const n in o.value)t[n]=e.customRef(()=>({get(){return o.value[n]},set(r){var u;if((u=g(a.replaceRef))!=null?u:!0)if(Array.isArray(o.value)){const p=[...o.value];p[n]=r,o.value=p}else{const p={...o.value,[n]:r};Object.setPrototypeOf(p,Object.getPrototypeOf(o.value)),o.value=p}else o.value[n]=r}}));return t}function H(o){var a;const t=g(o);return(a=t==null?void 0:t.$el)!=null?a:t}const z=V?window:void 0;function A(...o){let a,t,n,r;if(typeof o[0]=="string"||Array.isArray(o[0])?([t,n,r]=o,a=z):[a,t,n,r]=o,!a)return T;Array.isArray(t)||(t=[t]),Array.isArray(n)||(n=[n]);const u=[],v=()=>{u.forEach(d=>d()),u.length=0},p=(d,c,f,m)=>(d.addEventListener(c,f,m),()=>d.removeEventListener(c,f,m)),_=e.watch(()=>[H(a),g(r)],([d,c])=>{if(v(),!d)return;const f=D(c)?{...c}:c;u.push(...t.flatMap(m=>n.map(w=>p(d,m,w,f))))},{immediate:!0,flush:"post"}),s=()=>{_(),v()};return R(s),s}function I(o,a={}){var t,n;const{pointerTypes:r,preventDefault:u,stopPropagation:v,exact:p,onMove:_,onEnd:s,onStart:d,initialValue:c,axis:f="both",draggingElement:m=z,containerElement:w,handle:M=o}=a,y=e.ref((t=g(c))!=null?t:{x:0,y:0}),b=e.ref(),k=l=>r?r.includes(l.pointerType):!0,E=l=>{g(u)&&l.preventDefault(),g(v)&&l.stopPropagation()},S=l=>{var h;if(!k(l)||g(p)&&l.target!==g(o))return;const N=((h=g(w))!=null?h:g(o)).getBoundingClientRect(),O={x:l.clientX-N.left,y:l.clientY-N.top};(d==null?void 0:d(O,l))!==!1&&(b.value=O,E(l))},x=l=>{if(!k(l)||!b.value)return;let{x:h,y:C}=y.value;(f==="x"||f==="both")&&(h=l.clientX-b.value.x),(f==="y"||f==="both")&&(C=l.clientY-b.value.y),y.value={x:h,y:C},_==null||_(y.value,l),E(l)},i=l=>{k(l)&&b.value&&(b.value=void 0,s==null||s(y.value,l),E(l))};if(V){const l={capture:(n=a.capture)!=null?n:!0};A(M,"pointerdown",S,l),A(m,"pointermove",x,l),A(m,"pointerup",i,l)}return{...F(y),position:y,isDragging:e.computed(()=>!!b.value),style:e.computed(()=>`left:${y.value.x}px;top:${y.value.y}px;`)}}const X={class:"modal-container"},Y={class:"title font-bold"},K={class:"action"},q={key:1,class:"modal-footer space-x-2"},G=["form"],U={name:"ModalContainer",inheritAttrs:!0},J=e.defineComponent({...U,props:{id:{},formId:{},component:{},componentProps:{},width:{},maxWidth:{},maxHeight:{},sizes:{},size:{default:"middle"},title:{},header:{type:Boolean,default:!0},footer:{type:Boolean,default:!1},closeable:{type:Boolean,default:!0},esc:{type:Boolean,default:!1},maskClosable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1}},emits:["submit"],setup(o,{emit:a}){const t=o,n=a,r=e.inject(B);let u=0,v=0,p;const _=e.shallowRef(),s=e.shallowRef(),{x:d,y:c}=I(s,{initialValue:{x:0,y:0}});function f(){r==null||r.close(t.id)}function m(i){if(typeof i=="number")return`${i}px`;if(typeof i=="string")return i}const w=e.computed(()=>{const i={};return t.size&&(i.width=m(t.sizes[t.size])),t.width&&(i.width=m(t.width)),t.maxWidth&&(i.maxWidth=m(t.maxWidth)),t.draggable&&(i.transform=`translate(${d.value-u}px, ${c.value-v}px)`),i}),M=e.computed(()=>{const i={};return t.draggable&&(i.cursor="move"),i}),y=e.computed(()=>{var l;const i={};return t.maxHeight&&(i.maxHeight=`calc(${(l=m(t.maxWidth))==null?void 0:l.replace("%","vh")} - 50px)`),i});function b(){n("submit")}function k(){r==null||r.close(t.id)}function E(){window&&window.addEventListener("resize",()=>{e.triggerRef(_),e.triggerRef(s),u=s.value.offsetLeft,v=s.value.offsetTop})}function S(){if(t.closeable&&t.esc){const i=({key:l})=>{l==="Escape"&&(r==null||r.close(t.id),window.removeEventListener("keydown",i))};window.addEventListener("keydown",i)}}function x(){p=new MutationObserver(i=>{i.forEach(l=>{const h=s.value.offsetLeft,C=s.value.offsetTop;h!==u&&(u=h),C!==v&&(v=h)})}),p.observe(s.value,{attributes:!0,attributeFilter:["style","offsetHeight","offsetWidth","clientHeight","clientWidth"],attributeOldValue:!0})}return e.onMounted(()=>{S(),x(),E()}),e.onUnmounted(()=>{p&&(p.disconnect(),p.takeRecords())}),(i,l)=>(e.openBlock(),e.createElementBlock("div",X,[e.createElementVNode("div",{ref_key:"wrapperRef",ref:_,class:"modal-wrapper",onClick:l[0]||(l[0]=e.withModifiers(h=>i.maskClosable&&f(),["self"]))},[e.createElementVNode("div",{ref_key:"contentRef",ref:s,class:"modal-content",style:e.normalizeStyle(w.value)},[i.header?(e.openBlock(),e.createElementBlock("div",{key:0,ref:"",class:"modal-header",style:e.normalizeStyle(M.value)},[e.createElementVNode("div",Y,e.toDisplayString(i.title),1),e.createElementVNode("div",K,[i.closeable?(e.openBlock(),e.createElementBlock("div",{key:0,class:"i-icon-park-outline:close block cursor-pointer",onClick:f})):e.createCommentVNode("",!0)])],4)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"modal-body",style:e.normalizeStyle(y.value)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.component),e.normalizeProps(e.guardReactiveProps(i.componentProps)),null,16))],4),i.footer?(e.openBlock(),e.createElementBlock("div",q,[e.createElementVNode("button",{class:"submit-button",form:i.formId,type:"submit",onClick:b}," 确定 ",8,G),e.createElementVNode("button",{class:"cancel-button",type:"button",onClick:k}," 取消 ")])):e.createCommentVNode("",!0)],4)],512)]))}});const L=(o,a)=>{const t=o.__vccOpts||o;for(const[n,r]of a)t[n]=r;return t},$=L(J,[["__scopeId","data-v-e6f6653f"]]),Q={key:0,class:"modal-teleport"},Z={name:"ModalProvider",inheritAttrs:!0},j=e.defineComponent({...Z,props:{appendToBody:{type:Boolean,default:!1},sizes:{default:()=>({small:520,middle:860,large:1190})},maxWidth:{default:"80%"},maxHeight:{default:"80%"}},setup(o,{expose:a}){const t=e.shallowRef([]),n=e.ref(!1);async function r(s,d,c){const f=e.defineAsyncComponent(()=>Promise.resolve(s));return new Promise(m=>{t.value.push({id:Math.random().toString(32).slice(2),component:f,props:d,options:c,resolve:m,onSubmit:e.ref(()=>{})}),e.triggerRef(t)})}function u(s,d){const c=t.value.findIndex(m=>m.id===s);if(c<0)return;const f=t.value[c];f==null||f.resolve(d),t.value.splice(c,1),e.triggerRef(t)}function v(){t.value.forEach(s=>{s.resolve()}),t.value=[],e.triggerRef(t)}function p(s){return t.value.find(d=>d.id===s)}function _(s,d){const c=t.value.find(f=>f.id===s);c&&(c.onSubmit.value=d)}return e.provide(B,{open:r,close:u,closeAll:v,getElement:p,addSubmitListener:_}),a({elements:t}),e.onMounted(()=>{n.value=!0}),(s,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.renderSlot(s.$slots,"default",{},void 0,!0),n.value?(e.openBlock(),e.createElementBlock("div",Q,[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!s.appendToBody,to:"body"},[e.createVNode(e.TransitionGroup,{name:"modal-fade"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,c=>(e.openBlock(),e.createBlock($,e.mergeProps({id:c.id,key:c.id,component:c.component,"component-props":c.props,"max-height":s.maxHeight,"max-width":s.maxWidth,sizes:s.sizes},c.options,{onSubmit:c.onSubmit.value}),null,16,["id","component","component-props","max-height","max-width","sizes","onSubmit"]))),128))]),_:1})],8,["disabled"]))])):e.createCommentVNode("",!0)],64))}});const ee=L(j,[["__scopeId","data-v-171d9bdd"]]);function P(o,a){var n,r;let t=o==null?void 0:o.parent;for(;t&&((n=t==null?void 0:t.type)==null?void 0:n.name)!==a;)t=t.parent;return((r=t==null?void 0:t.type)==null?void 0:r.name)===a?t:null}function te(){const o=e.inject(B),a=e.getCurrentInstance();return{open(t,n,r){if(!o)throw new Error("Not Found Modal Provider Component");return o.open(t,n||{},r||{})},close(t){var u;if(!o)throw new Error("Not Found Modal Provider Component");const n=P(a,"ModalContainer"),r=(u=n==null?void 0:n.props)==null?void 0:u.id;if(!r)throw new Error("Not Found Current Modal Container");o.close(r,t)},closeAll(){if(!o)throw new Error("Not Found Modal Provider Component");o.closeAll()},onSubmit(t){const n=P(a,"ModalContainer");if(!(n==null?void 0:n.props.id))throw new Error("Not Found Current Modal Container")}}}function oe(o){var u;const a=e.inject(B),t=e.getCurrentInstance(),n=P(t,"ModalContainer"),r=(u=n==null?void 0:n.props)==null?void 0:u.id;a&&r&&a.addSubmitListener(r,o)}exports.ModalContainer=$;exports.ModalProvider=ee;exports.onSubmit=oe;exports.useModal=te;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue");const C=Symbol("__MODAL__");function O(o){return e.getCurrentScope()?(e.onScopeDispose(o),!0):!1}function g(o){return typeof o=="function"?o():e.unref(o)}const V=typeof window<"u"&&typeof document<"u",D=Object.prototype.toString,W=o=>D.call(o)==="[object Object]",T=()=>{};function F(o,s={}){if(!e.isRef(o))return e.toRefs(o);const t=Array.isArray(o.value)?Array.from({length:o.value.length}):{};for(const r in o.value)t[r]=e.customRef(()=>({get(){return o.value[r]},set(l){var d;if((d=g(s.replaceRef))!=null?d:!0)if(Array.isArray(o.value)){const m=[...o.value];m[r]=l,o.value=m}else{const m={...o.value,[r]:l};Object.setPrototypeOf(m,Object.getPrototypeOf(o.value)),o.value=m}else o.value[r]=l}}));return t}function H(o){var s;const t=g(o);return(s=t==null?void 0:t.$el)!=null?s:t}const R=V?window:void 0;function z(...o){let s,t,r,l;if(typeof o[0]=="string"||Array.isArray(o[0])?([t,r,l]=o,s=R):[s,t,r,l]=o,!s)return T;Array.isArray(t)||(t=[t]),Array.isArray(r)||(r=[r]);const d=[],y=()=>{d.forEach(u=>u()),d.length=0},m=(u,a,f,p)=>(u.addEventListener(a,f,p),()=>u.removeEventListener(a,f,p)),v=e.watch(()=>[H(s),g(l)],([u,a])=>{if(y(),!u)return;const f=W(a)?{...a}:a;d.push(...t.flatMap(p=>r.map(b=>m(u,p,b,f))))},{immediate:!0,flush:"post"}),c=()=>{v(),y()};return O(c),c}function I(o,s={}){var t,r;const{pointerTypes:l,preventDefault:d,stopPropagation:y,exact:m,onMove:v,onEnd:c,onStart:u,initialValue:a,axis:f="both",draggingElement:p=R,containerElement:b,handle:x=o}=s,h=e.ref((t=g(a))!=null?t:{x:0,y:0}),_=e.ref(),k=i=>l?l.includes(i.pointerType):!0,E=i=>{g(d)&&i.preventDefault(),g(y)&&i.stopPropagation()},M=i=>{var w;if(!k(i)||g(m)&&i.target!==g(o))return;const P=((w=g(b))!=null?w:g(o)).getBoundingClientRect(),N={x:i.clientX-P.left,y:i.clientY-P.top};(u==null?void 0:u(N,i))!==!1&&(_.value=N,E(i))},S=i=>{if(!k(i)||!_.value)return;let{x:w,y:B}=h.value;(f==="x"||f==="both")&&(w=i.clientX-_.value.x),(f==="y"||f==="both")&&(B=i.clientY-_.value.y),h.value={x:w,y:B},v==null||v(h.value,i),E(i)},n=i=>{k(i)&&_.value&&(_.value=void 0,c==null||c(h.value,i),E(i))};if(V){const i={capture:(r=s.capture)!=null?r:!0};z(x,"pointerdown",M,i),z(p,"pointermove",S,i),z(p,"pointerup",n,i)}return{...F(h),position:h,isDragging:e.computed(()=>!!_.value),style:e.computed(()=>`left:${h.value.x}px;top:${h.value.y}px;`)}}const X={class:"modal-container"},Y={class:"title font-bold"},q={class:"action"},K={key:1,class:"modal-footer space-x-2"},G=["form"],U={name:"ModalContainer",inheritAttrs:!0},J=e.defineComponent({...U,props:{id:{},form:{},component:{},componentProps:{},width:{},maxWidth:{},maxHeight:{},sizes:{},size:{default:"middle"},title:{},header:{type:Boolean,default:!0},footer:{type:Boolean,default:!1},closeable:{type:Boolean,default:!0},esc:{type:Boolean,default:!1},maskClosable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1}},emits:["submit"],setup(o,{emit:s}){const t=o,r=s,l=e.inject(C);let d=0,y=0;const m=e.shallowRef(),v=e.shallowRef(),c=e.shallowRef(),{x:u,y:a}=I(c,{initialValue:{x:0,y:0}});function f(){l==null||l.close(t.id)}function p(n){if(typeof n=="number")return`${n}px`;if(typeof n=="string")return n}const b=e.computed(()=>{const n={};return t.size&&(n.width=p(t.sizes[t.size])),t.width&&(n.width=p(t.width)),t.maxWidth&&(n.maxWidth=p(t.maxWidth)),t.size==="fullscreen"&&(n.maxWidth="unset",n.position="fixed",n.top=0,n.left=0,n.bottom=0,n.right=0),t.draggable&&t.size!=="fullscreen"&&(n.transform=`translate(${u.value-d}px, ${a.value-y}px)`),n}),x=e.computed(()=>{const n={};return t.draggable&&t.size!=="fullscreen"&&(n.cursor="move"),n}),h=e.computed(()=>{var i;const n={};return t.maxHeight&&(n.maxHeight=`calc(${(i=p(t.maxWidth))==null?void 0:i.replace("%","vh")} - 50px)`),t.size==="fullscreen"&&(n.maxHeight="calc(100% - 50px)"),n});function _(){const n=v.value;if(t.form&&n){const i=n.querySelector(`form[name="${t.form}"]`);i&&i.dispatchEvent(new Event("submit"))}r("submit")}function k(){l==null||l.close(t.id)}function E(){window&&window.addEventListener("resize",()=>{e.triggerRef(m),e.triggerRef(v),d=v.value.offsetLeft,y=v.value.offsetTop})}function M(){if(t.closeable&&t.esc){const n=({key:i})=>{i==="Escape"&&(l==null||l.close(t.id),window.removeEventListener("keydown",n))};window.addEventListener("keydown",n)}}function S(){d=v.value.offsetLeft,y=v.value.offsetTop}return e.onMounted(()=>{M(),E()}),e.onUnmounted(()=>{}),(n,i)=>(e.openBlock(),e.createElementBlock("div",X,[e.createElementVNode("div",{ref_key:"wrapperRef",ref:m,class:"modal-wrapper",onClick:i[0]||(i[0]=e.withModifiers(w=>n.maskClosable&&f(),["self"]))},[e.createElementVNode("div",{ref_key:"contentRef",ref:v,class:"modal-content",style:e.normalizeStyle(b.value)},[n.header?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"headerRef",ref:c,class:"modal-header",style:e.normalizeStyle(x.value),onMousedown:S},[e.createElementVNode("div",Y,e.toDisplayString(n.title),1),e.createElementVNode("div",q,[n.closeable?(e.openBlock(),e.createElementBlock("div",{key:0,class:"i-icon-park-outline:close block cursor-pointer",onClick:f})):e.createCommentVNode("",!0)])],36)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"modal-body",style:e.normalizeStyle(h.value)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.component),e.normalizeProps(e.guardReactiveProps(n.componentProps)),null,16))],4),n.footer?(e.openBlock(),e.createElementBlock("div",K,[e.createElementVNode("button",{class:"submit-button",form:n.form,type:"submit",onClick:_}," 确定 ",8,G),e.createElementVNode("button",{class:"cancel-button",type:"button",onClick:k}," 取消 ")])):e.createCommentVNode("",!0)],4)],512)]))}});const $=(o,s)=>{const t=o.__vccOpts||o;for(const[r,l]of s)t[r]=l;return t},L=$(J,[["__scopeId","data-v-05b670ad"]]),Q={key:0,class:"modal-teleport"},Z={name:"ModalProvider",inheritAttrs:!0},j=e.defineComponent({...Z,props:{appendToBody:{type:Boolean,default:!1},sizes:{default:()=>({small:520,middle:860,large:1190})},maxWidth:{default:"80%"},maxHeight:{default:"80%"}},setup(o,{expose:s}){const t=e.shallowRef([]),r=e.ref(!1);async function l(c,u,a){const f=e.defineAsyncComponent(()=>Promise.resolve(c));return new Promise(p=>{t.value.push({id:Math.random().toString(32).slice(2),component:f,props:u,options:a,resolve:p,onSubmit:e.ref(()=>{})}),e.triggerRef(t)})}function d(c,u){const a=t.value.findIndex(p=>p.id===c);if(a<0)return;const f=t.value[a];f==null||f.resolve(u),t.value.splice(a,1),e.triggerRef(t)}function y(){t.value.forEach(c=>{c.resolve()}),t.value=[],e.triggerRef(t)}function m(c){return t.value.find(u=>u.id===c)}function v(c,u){const a=t.value.find(f=>f.id===c);a&&(a.onSubmit.value=u)}return e.provide(C,{open:l,close:d,closeAll:y,getElement:m,addSubmitListener:v}),s({elements:t}),e.onMounted(()=>{r.value=!0}),(c,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.renderSlot(c.$slots,"default",{},void 0,!0),r.value?(e.openBlock(),e.createElementBlock("div",Q,[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!c.appendToBody,to:"body"},[e.createVNode(e.TransitionGroup,{name:"modal-fade"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,a=>(e.openBlock(),e.createBlock(L,e.mergeProps({id:a.id,key:a.id,component:a.component,"component-props":a.props,"max-height":c.maxHeight,"max-width":c.maxWidth,sizes:c.sizes},a.options,{onSubmit:a.onSubmit.value}),null,16,["id","component","component-props","max-height","max-width","sizes","onSubmit"]))),128))]),_:1})],8,["disabled"]))])):e.createCommentVNode("",!0)],64))}});const ee=$(j,[["__scopeId","data-v-171d9bdd"]]);function A(o,s){var r,l;let t=o==null?void 0:o.parent;for(;t&&((r=t==null?void 0:t.type)==null?void 0:r.name)!==s;)t=t.parent;return((l=t==null?void 0:t.type)==null?void 0:l.name)===s?t:null}function te(){const o=e.inject(C),s=e.getCurrentInstance();return{open(t,r,l){if(!o)throw new Error("Not Found Modal Provider Component");return o.open(t,r||{},l||{})},close(t){var d;if(!o)throw new Error("Not Found Modal Provider Component");const r=A(s,"ModalContainer"),l=(d=r==null?void 0:r.props)==null?void 0:d.id;if(!l)throw new Error("Not Found Current Modal Container");o.close(l,t)},closeAll(){if(!o)throw new Error("Not Found Modal Provider Component");o.closeAll()},onSubmit(t){const r=A(s,"ModalContainer");if(!(r==null?void 0:r.props.id))throw new Error("Not Found Current Modal Container")}}}function oe(o){var d;const s=e.inject(C),t=e.getCurrentInstance(),r=A(t,"ModalContainer"),l=(d=r==null?void 0:r.props)==null?void 0:d.id;s&&l&&s.addSubmitListener(l,o)}exports.ModalContainer=L;exports.ModalProvider=ee;exports.onSubmit=oe;exports.useModal=te;
package/dist/index.js CHANGED
@@ -1,130 +1,130 @@
1
- import { unref as J, isRef as Q, toRefs as Z, customRef as j, getCurrentScope as ee, onScopeDispose as te, ref as O, computed as k, watch as ne, defineComponent as X, inject as V, shallowRef as H, onMounted as Y, onUnmounted as oe, openBlock as _, createElementBlock as C, createElementVNode as w, withModifiers as re, normalizeStyle as W, toDisplayString as ie, createCommentVNode as P, createBlock as N, resolveDynamicComponent as se, normalizeProps as le, guardReactiveProps as ae, triggerRef as A, provide as ue, Fragment as R, renderSlot as ce, Teleport as de, createVNode as fe, TransitionGroup as pe, withCtx as ve, renderList as me, mergeProps as ye, defineAsyncComponent as he, getCurrentInstance as K } from "vue";
2
- const z = Symbol("__MODAL__");
1
+ import { unref as J, isRef as Q, toRefs as Z, customRef as j, getCurrentScope as ee, onScopeDispose as te, ref as P, computed as S, watch as ne, defineComponent as X, inject as R, shallowRef as A, onMounted as Y, onUnmounted as oe, openBlock as _, createElementBlock as b, createElementVNode as w, withModifiers as re, normalizeStyle as W, toDisplayString as ie, createCommentVNode as z, createBlock as T, resolveDynamicComponent as se, normalizeProps as le, guardReactiveProps as ae, triggerRef as k, provide as ue, Fragment as I, renderSlot as ce, Teleport as de, createVNode as fe, TransitionGroup as pe, withCtx as me, renderList as ve, mergeProps as ye, defineAsyncComponent as he, getCurrentInstance as K } from "vue";
2
+ const $ = Symbol("__MODAL__");
3
3
  function _e(t) {
4
4
  return ee() ? (te(t), !0) : !1;
5
5
  }
6
6
  function h(t) {
7
7
  return typeof t == "function" ? t() : J(t);
8
8
  }
9
- const G = typeof window < "u" && typeof document < "u", ge = Object.prototype.toString, be = (t) => ge.call(t) === "[object Object]", we = () => {
9
+ const q = typeof window < "u" && typeof document < "u", ge = Object.prototype.toString, we = (t) => ge.call(t) === "[object Object]", be = () => {
10
10
  };
11
- function Ce(t, l = {}) {
11
+ function xe(t, s = {}) {
12
12
  if (!Q(t))
13
13
  return Z(t);
14
14
  const e = Array.isArray(t.value) ? Array.from({ length: t.value.length }) : {};
15
- for (const n in t.value)
16
- e[n] = j(() => ({
15
+ for (const o in t.value)
16
+ e[o] = j(() => ({
17
17
  get() {
18
- return t.value[n];
18
+ return t.value[o];
19
19
  },
20
- set(o) {
21
- var u;
22
- if ((u = h(l.replaceRef)) != null ? u : !0)
20
+ set(r) {
21
+ var c;
22
+ if ((c = h(s.replaceRef)) != null ? c : !0)
23
23
  if (Array.isArray(t.value)) {
24
- const f = [...t.value];
25
- f[n] = o, t.value = f;
24
+ const p = [...t.value];
25
+ p[o] = r, t.value = p;
26
26
  } else {
27
- const f = { ...t.value, [n]: o };
28
- Object.setPrototypeOf(f, Object.getPrototypeOf(t.value)), t.value = f;
27
+ const p = { ...t.value, [o]: r };
28
+ Object.setPrototypeOf(p, Object.getPrototypeOf(t.value)), t.value = p;
29
29
  }
30
30
  else
31
- t.value[n] = o;
31
+ t.value[o] = r;
32
32
  }
33
33
  }));
34
34
  return e;
35
35
  }
36
- function xe(t) {
37
- var l;
36
+ function Ce(t) {
37
+ var s;
38
38
  const e = h(t);
39
- return (l = e == null ? void 0 : e.$el) != null ? l : e;
39
+ return (s = e == null ? void 0 : e.$el) != null ? s : e;
40
40
  }
41
- const U = G ? window : void 0;
42
- function D(...t) {
43
- let l, e, n, o;
44
- if (typeof t[0] == "string" || Array.isArray(t[0]) ? ([e, n, o] = t, l = U) : [l, e, n, o] = t, !l)
45
- return we;
46
- Array.isArray(e) || (e = [e]), Array.isArray(n) || (n = [n]);
47
- const u = [], v = () => {
48
- u.forEach((c) => c()), u.length = 0;
49
- }, f = (c, a, d, p) => (c.addEventListener(a, d, p), () => c.removeEventListener(a, d, p)), g = ne(
50
- () => [xe(l), h(o)],
51
- ([c, a]) => {
52
- if (v(), !c)
41
+ const G = q ? window : void 0;
42
+ function N(...t) {
43
+ let s, e, o, r;
44
+ if (typeof t[0] == "string" || Array.isArray(t[0]) ? ([e, o, r] = t, s = G) : [s, e, o, r] = t, !s)
45
+ return be;
46
+ Array.isArray(e) || (e = [e]), Array.isArray(o) || (o = [o]);
47
+ const c = [], v = () => {
48
+ c.forEach((u) => u()), c.length = 0;
49
+ }, p = (u, l, d, f) => (u.addEventListener(l, d, f), () => u.removeEventListener(l, d, f)), m = ne(
50
+ () => [Ce(s), h(r)],
51
+ ([u, l]) => {
52
+ if (v(), !u)
53
53
  return;
54
- const d = be(a) ? { ...a } : a;
55
- u.push(
56
- ...e.flatMap((p) => n.map((x) => f(c, p, x, d)))
54
+ const d = we(l) ? { ...l } : l;
55
+ c.push(
56
+ ...e.flatMap((f) => o.map((C) => p(u, f, C, d)))
57
57
  );
58
58
  },
59
59
  { immediate: !0, flush: "post" }
60
- ), s = () => {
61
- g(), v();
60
+ ), a = () => {
61
+ m(), v();
62
62
  };
63
- return _e(s), s;
63
+ return _e(a), a;
64
64
  }
65
- function Ee(t, l = {}) {
66
- var e, n;
65
+ function Ee(t, s = {}) {
66
+ var e, o;
67
67
  const {
68
- pointerTypes: o,
69
- preventDefault: u,
68
+ pointerTypes: r,
69
+ preventDefault: c,
70
70
  stopPropagation: v,
71
- exact: f,
72
- onMove: g,
73
- onEnd: s,
74
- onStart: c,
75
- initialValue: a,
71
+ exact: p,
72
+ onMove: m,
73
+ onEnd: a,
74
+ onStart: u,
75
+ initialValue: l,
76
76
  axis: d = "both",
77
- draggingElement: p = U,
78
- containerElement: x,
77
+ draggingElement: f = G,
78
+ containerElement: C,
79
79
  handle: B = t
80
- } = l, m = O(
81
- (e = h(a)) != null ? e : { x: 0, y: 0 }
82
- ), b = O(), E = (r) => o ? o.includes(r.pointerType) : !0, M = (r) => {
83
- h(u) && r.preventDefault(), h(v) && r.stopPropagation();
84
- }, $ = (r) => {
85
- var y;
86
- if (!E(r) || h(f) && r.target !== h(t))
80
+ } = s, y = P(
81
+ (e = h(l)) != null ? e : { x: 0, y: 0 }
82
+ ), g = P(), E = (i) => r ? r.includes(i.pointerType) : !0, M = (i) => {
83
+ h(c) && i.preventDefault(), h(v) && i.stopPropagation();
84
+ }, L = (i) => {
85
+ var x;
86
+ if (!E(i) || h(p) && i.target !== h(t))
87
87
  return;
88
- const F = ((y = h(x)) != null ? y : h(t)).getBoundingClientRect(), I = {
89
- x: r.clientX - F.left,
90
- y: r.clientY - F.top
88
+ const V = ((x = h(C)) != null ? x : h(t)).getBoundingClientRect(), F = {
89
+ x: i.clientX - V.left,
90
+ y: i.clientY - V.top
91
91
  };
92
- (c == null ? void 0 : c(I, r)) !== !1 && (b.value = I, M(r));
93
- }, L = (r) => {
94
- if (!E(r) || !b.value)
92
+ (u == null ? void 0 : u(F, i)) !== !1 && (g.value = F, M(i));
93
+ }, D = (i) => {
94
+ if (!E(i) || !g.value)
95
95
  return;
96
- let { x: y, y: S } = m.value;
97
- (d === "x" || d === "both") && (y = r.clientX - b.value.x), (d === "y" || d === "both") && (S = r.clientY - b.value.y), m.value = {
98
- x: y,
99
- y: S
100
- }, g == null || g(m.value, r), M(r);
101
- }, i = (r) => {
102
- E(r) && b.value && (b.value = void 0, s == null || s(m.value, r), M(r));
96
+ let { x, y: O } = y.value;
97
+ (d === "x" || d === "both") && (x = i.clientX - g.value.x), (d === "y" || d === "both") && (O = i.clientY - g.value.y), y.value = {
98
+ x,
99
+ y: O
100
+ }, m == null || m(y.value, i), M(i);
101
+ }, n = (i) => {
102
+ E(i) && g.value && (g.value = void 0, a == null || a(y.value, i), M(i));
103
103
  };
104
- if (G) {
105
- const r = { capture: (n = l.capture) != null ? n : !0 };
106
- D(B, "pointerdown", $, r), D(p, "pointermove", L, r), D(p, "pointerup", i, r);
104
+ if (q) {
105
+ const i = { capture: (o = s.capture) != null ? o : !0 };
106
+ N(B, "pointerdown", L, i), N(f, "pointermove", D, i), N(f, "pointerup", n, i);
107
107
  }
108
108
  return {
109
- ...Ce(m),
110
- position: m,
111
- isDragging: k(() => !!b.value),
112
- style: k(
113
- () => `left:${m.value.x}px;top:${m.value.y}px;`
109
+ ...xe(y),
110
+ position: y,
111
+ isDragging: S(() => !!g.value),
112
+ style: S(
113
+ () => `left:${y.value.x}px;top:${y.value.y}px;`
114
114
  )
115
115
  };
116
116
  }
117
117
  const Me = { class: "modal-container" }, Se = { class: "title font-bold" }, ke = { class: "action" }, Ae = {
118
118
  key: 1,
119
119
  class: "modal-footer space-x-2"
120
- }, Pe = ["form"], Oe = {
120
+ }, ze = ["form"], Pe = {
121
121
  name: "ModalContainer",
122
122
  inheritAttrs: !0
123
- }, ze = /* @__PURE__ */ X({
124
- ...Oe,
123
+ }, $e = /* @__PURE__ */ X({
124
+ ...Pe,
125
125
  props: {
126
126
  id: {},
127
- formId: {},
127
+ form: {},
128
128
  component: {},
129
129
  componentProps: {},
130
130
  width: {},
@@ -141,132 +141,129 @@ const Me = { class: "modal-container" }, Se = { class: "title font-bold" }, ke =
141
141
  draggable: { type: Boolean, default: !1 }
142
142
  },
143
143
  emits: ["submit"],
144
- setup(t, { emit: l }) {
145
- const e = t, n = l, o = V(z);
146
- let u = 0, v = 0, f;
147
- const g = H(), s = H(), { x: c, y: a } = Ee(s, {
144
+ setup(t, { emit: s }) {
145
+ const e = t, o = s, r = R($);
146
+ let c = 0, v = 0;
147
+ const p = A(), m = A(), a = A(), { x: u, y: l } = Ee(a, {
148
148
  initialValue: { x: 0, y: 0 }
149
149
  });
150
150
  function d() {
151
- o == null || o.close(e.id);
151
+ r == null || r.close(e.id);
152
152
  }
153
- function p(i) {
154
- if (typeof i == "number")
155
- return `${i}px`;
156
- if (typeof i == "string")
157
- return i;
153
+ function f(n) {
154
+ if (typeof n == "number")
155
+ return `${n}px`;
156
+ if (typeof n == "string")
157
+ return n;
158
158
  }
159
- const x = k(() => {
160
- const i = {};
161
- return e.size && (i.width = p(e.sizes[e.size])), e.width && (i.width = p(e.width)), e.maxWidth && (i.maxWidth = p(e.maxWidth)), e.draggable && (i.transform = `translate(${c.value - u}px, ${a.value - v}px)`), i;
162
- }), B = k(() => {
163
- const i = {};
164
- return e.draggable && (i.cursor = "move"), i;
165
- }), m = k(() => {
166
- var r;
167
- const i = {};
168
- return e.maxHeight && (i.maxHeight = `calc(${(r = p(e.maxWidth)) == null ? void 0 : r.replace("%", "vh")} - 50px)`), i;
159
+ const C = S(() => {
160
+ const n = {};
161
+ return e.size && (n.width = f(e.sizes[e.size])), e.width && (n.width = f(e.width)), e.maxWidth && (n.maxWidth = f(e.maxWidth)), e.size === "fullscreen" && (n.maxWidth = "unset", n.position = "fixed", n.top = 0, n.left = 0, n.bottom = 0, n.right = 0), e.draggable && e.size !== "fullscreen" && (n.transform = `translate(${u.value - c}px, ${l.value - v}px)`), n;
162
+ }), B = S(() => {
163
+ const n = {};
164
+ return e.draggable && e.size !== "fullscreen" && (n.cursor = "move"), n;
165
+ }), y = S(() => {
166
+ var i;
167
+ const n = {};
168
+ return e.maxHeight && (n.maxHeight = `calc(${(i = f(e.maxWidth)) == null ? void 0 : i.replace("%", "vh")} - 50px)`), e.size === "fullscreen" && (n.maxHeight = "calc(100% - 50px)"), n;
169
169
  });
170
- function b() {
171
- n("submit");
170
+ function g() {
171
+ const n = m.value;
172
+ if (e.form && n) {
173
+ const i = n.querySelector(`form[name="${e.form}"]`);
174
+ i && i.dispatchEvent(new Event("submit"));
175
+ }
176
+ o("submit");
172
177
  }
173
178
  function E() {
174
- o == null || o.close(e.id);
179
+ r == null || r.close(e.id);
175
180
  }
176
181
  function M() {
177
182
  window && window.addEventListener("resize", () => {
178
- A(g), A(s), u = s.value.offsetLeft, v = s.value.offsetTop;
183
+ k(p), k(m), c = m.value.offsetLeft, v = m.value.offsetTop;
179
184
  });
180
185
  }
181
- function $() {
186
+ function L() {
182
187
  if (e.closeable && e.esc) {
183
- const i = ({ key: r }) => {
184
- r === "Escape" && (o == null || o.close(e.id), window.removeEventListener("keydown", i));
188
+ const n = ({ key: i }) => {
189
+ i === "Escape" && (r == null || r.close(e.id), window.removeEventListener("keydown", n));
185
190
  };
186
- window.addEventListener("keydown", i);
191
+ window.addEventListener("keydown", n);
187
192
  }
188
193
  }
189
- function L() {
190
- f = new MutationObserver((i) => {
191
- i.forEach((r) => {
192
- const y = s.value.offsetLeft, S = s.value.offsetTop;
193
- y !== u && (u = y), S !== v && (v = y);
194
- });
195
- }), f.observe(s.value, {
196
- attributes: !0,
197
- attributeFilter: ["style", "offsetHeight", "offsetWidth", "clientHeight", "clientWidth"],
198
- attributeOldValue: !0
199
- });
194
+ function D() {
195
+ c = m.value.offsetLeft, v = m.value.offsetTop;
200
196
  }
201
197
  return Y(() => {
202
- $(), L(), M();
198
+ L(), M();
203
199
  }), oe(() => {
204
- f && (f.disconnect(), f.takeRecords());
205
- }), (i, r) => (_(), C("div", Me, [
200
+ }), (n, i) => (_(), b("div", Me, [
206
201
  w("div", {
207
202
  ref_key: "wrapperRef",
208
- ref: g,
203
+ ref: p,
209
204
  class: "modal-wrapper",
210
- onClick: r[0] || (r[0] = re((y) => i.maskClosable && d(), ["self"]))
205
+ onClick: i[0] || (i[0] = re((x) => n.maskClosable && d(), ["self"]))
211
206
  }, [
212
207
  w("div", {
213
208
  ref_key: "contentRef",
214
- ref: s,
209
+ ref: m,
215
210
  class: "modal-content",
216
- style: W(x.value)
211
+ style: W(C.value)
217
212
  }, [
218
- i.header ? (_(), C("div", {
213
+ n.header ? (_(), b("div", {
219
214
  key: 0,
220
- ref: "",
215
+ ref_key: "headerRef",
216
+ ref: a,
221
217
  class: "modal-header",
222
- style: W(B.value)
218
+ style: W(B.value),
219
+ onMousedown: D
223
220
  }, [
224
- w("div", Se, ie(i.title), 1),
221
+ w("div", Se, ie(n.title), 1),
225
222
  w("div", ke, [
226
- i.closeable ? (_(), C("div", {
223
+ n.closeable ? (_(), b("div", {
227
224
  key: 0,
228
225
  class: "i-icon-park-outline:close block cursor-pointer",
229
226
  onClick: d
230
- })) : P("", !0)
227
+ })) : z("", !0)
231
228
  ])
232
- ], 4)) : P("", !0),
229
+ ], 36)) : z("", !0),
233
230
  w("div", {
234
231
  class: "modal-body",
235
- style: W(m.value)
232
+ style: W(y.value)
236
233
  }, [
237
- (_(), N(se(i.component), le(ae(i.componentProps)), null, 16))
234
+ (_(), T(se(n.component), le(ae(n.componentProps)), null, 16))
238
235
  ], 4),
239
- i.footer ? (_(), C("div", Ae, [
236
+ n.footer ? (_(), b("div", Ae, [
240
237
  w("button", {
241
238
  class: "submit-button",
242
- form: i.formId,
239
+ form: n.form,
243
240
  type: "submit",
244
- onClick: b
245
- }, " 确定 ", 8, Pe),
241
+ onClick: g
242
+ }, " 确定 ", 8, ze),
246
243
  w("button", {
247
244
  class: "cancel-button",
248
245
  type: "button",
249
246
  onClick: E
250
247
  }, " 取消 ")
251
- ])) : P("", !0)
248
+ ])) : z("", !0)
252
249
  ], 4)
253
250
  ], 512)
254
251
  ]));
255
252
  }
256
253
  });
257
- const q = (t, l) => {
254
+ const U = (t, s) => {
258
255
  const e = t.__vccOpts || t;
259
- for (const [n, o] of l)
260
- e[n] = o;
256
+ for (const [o, r] of s)
257
+ e[o] = r;
261
258
  return e;
262
- }, Be = /* @__PURE__ */ q(ze, [["__scopeId", "data-v-e6f6653f"]]), $e = {
259
+ }, Be = /* @__PURE__ */ U($e, [["__scopeId", "data-v-05b670ad"]]), Le = {
263
260
  key: 0,
264
261
  class: "modal-teleport"
265
- }, Le = {
262
+ }, De = {
266
263
  name: "ModalProvider",
267
264
  inheritAttrs: !0
268
- }, We = /* @__PURE__ */ X({
269
- ...Le,
265
+ }, Oe = /* @__PURE__ */ X({
266
+ ...De,
270
267
  props: {
271
268
  appendToBody: { type: Boolean, default: !1 },
272
269
  sizes: { default: () => ({
@@ -277,105 +274,105 @@ const q = (t, l) => {
277
274
  maxWidth: { default: "80%" },
278
275
  maxHeight: { default: "80%" }
279
276
  },
280
- setup(t, { expose: l }) {
281
- const e = H([]), n = O(!1);
282
- async function o(s, c, a) {
277
+ setup(t, { expose: s }) {
278
+ const e = A([]), o = P(!1);
279
+ async function r(a, u, l) {
283
280
  const d = he(
284
- () => Promise.resolve(s)
281
+ () => Promise.resolve(a)
285
282
  );
286
- return new Promise((p) => {
283
+ return new Promise((f) => {
287
284
  e.value.push({
288
285
  id: Math.random().toString(32).slice(2),
289
286
  component: d,
290
- props: c,
291
- options: a,
292
- resolve: p,
293
- onSubmit: O(() => {
287
+ props: u,
288
+ options: l,
289
+ resolve: f,
290
+ onSubmit: P(() => {
294
291
  })
295
- }), A(e);
292
+ }), k(e);
296
293
  });
297
294
  }
298
- function u(s, c) {
299
- const a = e.value.findIndex((p) => p.id === s);
300
- if (a < 0)
295
+ function c(a, u) {
296
+ const l = e.value.findIndex((f) => f.id === a);
297
+ if (l < 0)
301
298
  return;
302
- const d = e.value[a];
303
- d == null || d.resolve(c), e.value.splice(a, 1), A(e);
299
+ const d = e.value[l];
300
+ d == null || d.resolve(u), e.value.splice(l, 1), k(e);
304
301
  }
305
302
  function v() {
306
- e.value.forEach((s) => {
307
- s.resolve();
308
- }), e.value = [], A(e);
303
+ e.value.forEach((a) => {
304
+ a.resolve();
305
+ }), e.value = [], k(e);
309
306
  }
310
- function f(s) {
311
- return e.value.find((c) => c.id === s);
307
+ function p(a) {
308
+ return e.value.find((u) => u.id === a);
312
309
  }
313
- function g(s, c) {
314
- const a = e.value.find((d) => d.id === s);
315
- a && (a.onSubmit.value = c);
310
+ function m(a, u) {
311
+ const l = e.value.find((d) => d.id === a);
312
+ l && (l.onSubmit.value = u);
316
313
  }
317
- return ue(z, {
318
- open: o,
319
- close: u,
314
+ return ue($, {
315
+ open: r,
316
+ close: c,
320
317
  closeAll: v,
321
- getElement: f,
322
- addSubmitListener: g
323
- }), l({
318
+ getElement: p,
319
+ addSubmitListener: m
320
+ }), s({
324
321
  elements: e
325
322
  }), Y(() => {
326
- n.value = !0;
327
- }), (s, c) => (_(), C(R, null, [
328
- ce(s.$slots, "default", {}, void 0, !0),
329
- n.value ? (_(), C("div", $e, [
330
- (_(), N(de, {
331
- disabled: !s.appendToBody,
323
+ o.value = !0;
324
+ }), (a, u) => (_(), b(I, null, [
325
+ ce(a.$slots, "default", {}, void 0, !0),
326
+ o.value ? (_(), b("div", Le, [
327
+ (_(), T(de, {
328
+ disabled: !a.appendToBody,
332
329
  to: "body"
333
330
  }, [
334
331
  fe(pe, { name: "modal-fade" }, {
335
- default: ve(() => [
336
- (_(!0), C(R, null, me(e.value, (a) => (_(), N(Be, ye({
337
- id: a.id,
338
- key: a.id,
339
- component: a.component,
340
- "component-props": a.props,
341
- "max-height": s.maxHeight,
342
- "max-width": s.maxWidth,
343
- sizes: s.sizes
344
- }, a.options, {
345
- onSubmit: a.onSubmit.value
332
+ default: me(() => [
333
+ (_(!0), b(I, null, ve(e.value, (l) => (_(), T(Be, ye({
334
+ id: l.id,
335
+ key: l.id,
336
+ component: l.component,
337
+ "component-props": l.props,
338
+ "max-height": a.maxHeight,
339
+ "max-width": a.maxWidth,
340
+ sizes: a.sizes
341
+ }, l.options, {
342
+ onSubmit: l.onSubmit.value
346
343
  }), null, 16, ["id", "component", "component-props", "max-height", "max-width", "sizes", "onSubmit"]))), 128))
347
344
  ]),
348
345
  _: 1
349
346
  })
350
347
  ], 8, ["disabled"]))
351
- ])) : P("", !0)
348
+ ])) : z("", !0)
352
349
  ], 64));
353
350
  }
354
351
  });
355
- const He = /* @__PURE__ */ q(We, [["__scopeId", "data-v-171d9bdd"]]);
356
- function T(t, l) {
357
- var n, o;
352
+ const Ne = /* @__PURE__ */ U(Oe, [["__scopeId", "data-v-171d9bdd"]]);
353
+ function H(t, s) {
354
+ var o, r;
358
355
  let e = t == null ? void 0 : t.parent;
359
- for (; e && ((n = e == null ? void 0 : e.type) == null ? void 0 : n.name) !== l; )
356
+ for (; e && ((o = e == null ? void 0 : e.type) == null ? void 0 : o.name) !== s; )
360
357
  e = e.parent;
361
- return ((o = e == null ? void 0 : e.type) == null ? void 0 : o.name) === l ? e : null;
358
+ return ((r = e == null ? void 0 : e.type) == null ? void 0 : r.name) === s ? e : null;
362
359
  }
363
- function Ne() {
364
- const t = V(z), l = K();
360
+ function Te() {
361
+ const t = R($), s = K();
365
362
  return {
366
- open(e, n, o) {
363
+ open(e, o, r) {
367
364
  if (!t)
368
365
  throw new Error("Not Found Modal Provider Component");
369
- return t.open(e, n || {}, o || {});
366
+ return t.open(e, o || {}, r || {});
370
367
  },
371
368
  close(e) {
372
- var u;
369
+ var c;
373
370
  if (!t)
374
371
  throw new Error("Not Found Modal Provider Component");
375
- const n = T(l, "ModalContainer"), o = (u = n == null ? void 0 : n.props) == null ? void 0 : u.id;
376
- if (!o)
372
+ const o = H(s, "ModalContainer"), r = (c = o == null ? void 0 : o.props) == null ? void 0 : c.id;
373
+ if (!r)
377
374
  throw new Error("Not Found Current Modal Container");
378
- t.close(o, e);
375
+ t.close(r, e);
379
376
  },
380
377
  closeAll() {
381
378
  if (!t)
@@ -383,20 +380,20 @@ function Ne() {
383
380
  t.closeAll();
384
381
  },
385
382
  onSubmit(e) {
386
- const n = T(l, "ModalContainer");
387
- if (!(n == null ? void 0 : n.props.id))
383
+ const o = H(s, "ModalContainer");
384
+ if (!(o == null ? void 0 : o.props.id))
388
385
  throw new Error("Not Found Current Modal Container");
389
386
  }
390
387
  };
391
388
  }
392
- function Te(t) {
393
- var u;
394
- const l = V(z), e = K(), n = T(e, "ModalContainer"), o = (u = n == null ? void 0 : n.props) == null ? void 0 : u.id;
395
- l && o && l.addSubmitListener(o, t);
389
+ function He(t) {
390
+ var c;
391
+ const s = R($), e = K(), o = H(e, "ModalContainer"), r = (c = o == null ? void 0 : o.props) == null ? void 0 : c.id;
392
+ s && r && s.addSubmitListener(r, t);
396
393
  }
397
394
  export {
398
395
  Be as ModalContainer,
399
- He as ModalProvider,
400
- Te as onSubmit,
401
- Ne as useModal
396
+ Ne as ModalProvider,
397
+ He as onSubmit,
398
+ Te as useModal
402
399
  };
@@ -13,8 +13,9 @@ export interface OpenModalOptions {
13
13
  header?: boolean;
14
14
  footer?: boolean;
15
15
  width?: number | string;
16
- size?: 'large' | 'middle' | 'small';
16
+ size?: 'large' | 'middle' | 'small' | 'fullscreen';
17
17
  draggable?: boolean;
18
+ form?: string;
18
19
  }
19
20
  export interface ModalElement extends OpenModalOptions {
20
21
  id: string;
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- *,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.i-icon-park-outline\:close{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 48 48' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' d='m8 8l32 32M8 40L40 8'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.fixed{position:fixed}.block{display:block}.flex{display:flex}.cursor-pointer{cursor:pointer}.resize{resize:both}.space-x-2>:not([hidden])~:not([hidden]){--un-space-x-reverse:0;margin-left:calc(.5rem * calc(1 - var(--un-space-x-reverse)));margin-right:calc(.5rem * var(--un-space-x-reverse))}.px{padding-left:1rem;padding-right:1rem}.font-bold{font-weight:700}.outline{outline-style:solid}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease{transition-timing-function:cubic-bezier(.4,0,.2,1)}.modal-wrapper[data-v-e6f6653f]{z-index:1000;position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,.3)}.modal-content[data-v-e6f6653f]{background:#ffffff;border-radius:5px}.modal-header[data-v-e6f6653f]{box-sizing:border-box;padding:10px;height:50px;display:flex;justify-content:space-between;align-items:center;border-bottom:solid 1px var(--color-border-1, #E8E8E8)}.modal-body[data-v-e6f6653f]{padding:20px 10px;box-sizing:border-box;max-height:10vw;overflow:auto}.modal-footer[data-v-e6f6653f]{box-sizing:border-box;height:50px;border-top:solid 1px var(--color-border-1, #E8E8E8);display:flex;justify-content:end;padding:10px}.modal-footer button[data-v-e6f6653f]{height:28px;line-height:28px;width:80px;outline:none;border-color:transparent;font-size:14px;border-radius:4px;padding:0;box-sizing:content-box}.modal-footer button.submit-button[data-v-e6f6653f]{color:#fff;background-color:rgb(var(--primary-6, 45, 106, 251))}.modal-footer button.submit-button[data-v-e6f6653f]:hover{background-color:rgb(var(--primary-5, 28, 76, 207))}.modal-footer button.cancel-button[data-v-e6f6653f]{color:rgb(var(--color-text-2, 78, 89, 105));background-color:rgb(var(--color-fill-1, 245, 245, 245))}.modal-footer button.cancel-button[data-v-e6f6653f]:hover{background-color:rgb(var(--color-fill-4, 201, 205, 212))}.modal-fade-enter-active[data-v-171d9bdd],.modal-fade-leave-active[data-v-171d9bdd]{transition:all .5s ease}.modal-fade-enter-from[data-v-171d9bdd],.modal-fade-leave-to[data-v-171d9bdd]{opacity:0}
1
+ *,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.i-icon-park-outline\:close{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 48 48' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' d='m8 8l32 32M8 40L40 8'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.fixed{position:fixed}.block{display:block}.flex{display:flex}.cursor-pointer{cursor:pointer}.resize{resize:both}.space-x-2>:not([hidden])~:not([hidden]){--un-space-x-reverse:0;margin-left:calc(.5rem * calc(1 - var(--un-space-x-reverse)));margin-right:calc(.5rem * var(--un-space-x-reverse))}.px{padding-left:1rem;padding-right:1rem}.font-bold{font-weight:700}.outline{outline-style:solid}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease{transition-timing-function:cubic-bezier(.4,0,.2,1)}.modal-wrapper[data-v-05b670ad]{z-index:1000;position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,.3)}.modal-content[data-v-05b670ad]{background:#ffffff;border-radius:5px}.modal-header[data-v-05b670ad]{box-sizing:border-box;padding:10px;height:50px;display:flex;justify-content:space-between;align-items:center;border-bottom:solid 1px var(--color-border-1, #e8e8e8)}.modal-body[data-v-05b670ad]{padding:20px 10px;box-sizing:border-box;max-height:10vw;overflow:auto}.modal-footer[data-v-05b670ad]{box-sizing:border-box;height:50px;border-top:solid 1px var(--color-border-1, #e8e8e8);display:flex;justify-content:end;padding:10px}.modal-footer button[data-v-05b670ad]{height:28px;line-height:28px;width:80px;outline:none;border-color:transparent;font-size:14px;border-radius:4px;padding:0;box-sizing:content-box}.modal-footer button.submit-button[data-v-05b670ad]{color:#fff;background-color:rgb(var(--primary-6, 45, 106, 251))}.modal-footer button.submit-button[data-v-05b670ad]:hover{background-color:rgb(var(--primary-5, 28, 76, 207))}.modal-footer button.cancel-button[data-v-05b670ad]{color:rgb(var(--color-text-2, 78, 89, 105));background-color:var(--color-fill-1, #f5f5f5)}.modal-footer button.cancel-button[data-v-05b670ad]:hover{background-color:var(--color-fill-4, #c9cdd4)}.modal-fade-enter-active[data-v-171d9bdd],.modal-fade-leave-active[data-v-171d9bdd]{transition:all .5s ease}.modal-fade-enter-from[data-v-171d9bdd],.modal-fade-leave-to[data-v-171d9bdd]{opacity:0}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gopowerteam/modal-render",
3
3
  "type": "module",
4
- "version": "0.0.2",
4
+ "version": "0.0.3",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"