morningfast-plus 1.1.26 → 1.1.27

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/hooks/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let e=require("vue"),o=require("element-plus");new Proxy({accessKeyId:"",accessKeySecret:"",stsToken:"",region:"",bucket:"",refreshSTSTokenInterval:9999999},{get:(e,o)=>e[o],set:()=>!1});function t(){const e=globalThis.crypto;if("function"==typeof e?.randomUUID)return e.randomUUID();if("function"==typeof e?.getRandomValues){const o=e.getRandomValues(new Uint8Array(16));o[6]=15&(o[6]??0)|64,o[8]=63&(o[8]??0)|128;const t=Array.from(o,e=>e.toString(16).padStart(2,"0"));return[t.slice(0,4).join(""),t.slice(4,6).join(""),t.slice(6,8).join(""),t.slice(8,10).join(""),t.slice(10).join("")].join("-")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}const n="mp-popups-container",l=new WeakMap,a=Symbol("__POPUP_PROVIDE_NAME__");function r(){const e=document.querySelector(`body > div.${n.toString()}`);return e||function(){const e=document.createElement("div");return e.classList.add(`${n.toString()}`),document?.querySelector?.(`body > div.${"mp-popups-container".toString()}`)||document.body.appendChild(e),e}()}function i(o,t){const n=r(),a=document.createElement("div");return l.set(a,t),n.appendChild(a),(0,e.render)(o,a),a}function s(o){requestAnimationFrame(()=>{(0,e.render)(null,o),o.remove()})}var u=Symbol("__NOTICE_KEY__"),c=[],d=new Proxy(c,{get:(e,o)=>Reflect.get(e,o),set:()=>!1});function p(){localStorage.setItem(u.toString(),JSON.stringify(d))}var f=!1;var m=`Global-Image-Preview-${t()}`,g=(0,e.ref)([]),v=(0,e.shallowRef)(null);exports.PopupProvideKey=a,exports.addNotice=function(e,n){const l=function(e){const n=c.find(o=>o.message===e?.message&&o.title===e?.title),l=(0,o.dayjs)().format("YYYY-MM-DD HH:mm:ss");return{id:t(),mapId:n?n.mapId:t(),type:e?.type||"info",sort:c.length,title:e?.title,message:e?.message||"",duration:e?.duration||3e3,autoRender:void 0===e?.autoRender||Boolean(e?.autoRender),createdAt:l,effectiveAt:e?.effectiveAt||""}}("string"!=typeof e?e:{title:n,message:e});return l.autoRender&&function(e){(0,o.ElNotification)({...e?.notification||{},title:e?.title,message:e?.message,type:e?.type,customClass:`mp-notice-popup ${e?.notification?.customClass||""}`,duration:e?.duration||3e3,position:e?.notification?.position||"bottom-right"})}(l),c.push(l),p(),l},exports.clearNotices=function(){c.length=0,p()},exports.getNoticeList=function(){return f||(!function(){const e=localStorage.getItem(u.toString());if(e){const o=JSON.parse(e),t=c.slice();c.length=0,c.push(...o),c.sort((e,o)=>e.sort-o.sort),t.forEach(e=>{e.sort=c.length,c.push(e)})}}(),f=!0),d},exports.removeNotice=function(e){const o=c.findIndex(o=>o.id===e);if(-1!==o){const[e]=c.splice(o,1);return p(),e??null}return null},exports.useDialog=async function(n,l,r){const u={modal:!1,appendToBody:!0,destroyOnClose:!0,alignCenter:!0,draggable:!0,overflow:!0,...r||{},class:["mp-hook-dialog",r?.class||""].filter(Boolean).join(" "),headerClass:["mp-hook-dialog-header",r?.headerClass||""].filter(Boolean).join(" "),bodyClass:["mp-hook-dialog-body",r?.bodyClass||""].filter(Boolean).join(" "),footerClass:["mp-hook-dialog-footer",r?.footerClass||""].filter(Boolean).join(" "),onClosed:function(){r?.onClosed?.(),s(p)},showFooter:!!r?.showFooter,showConfirmButton:!0,showCancelButton:!0,confirmButtonText:r?.confirmButtonText??"确定",cancelButtonText:r?.cancelButtonText??"取消"};let c=null;const d=new Promise(e=>c=e),p=i((0,e.h)({setup(){const t=(0,e.ref)(void 0===u?.modelValue||u?.modelValue),i=(0,e.ref)(null),s=(0,e.shallowRef)(()=>!0),d=(0,e.ref)(!1);let p=(0,e.shallowRef)(null);async function f(){try{d.value=!0,p.value=await s.value(),(void 0===p.value||p.value)&&(c?.(p.value),t.value=!1)}catch(e){}finally{d.value=!1}}return(0,e.provide)(a,{ref:i,confirm:f,getDialogStatus:()=>t.value,openDialog:()=>{t.value=!0},closeDialog:()=>{t.value=!1},subscribeConfirmEvent:e=>{s.value=e}}),()=>(0,e.h)(o.ElDialog,{...u,modelValue:t.value,"onUpdate:modelValue":e=>{t.value=e},onVnodeMounted(e){i.value=e?.component?.exposeProxy||null}},{default:()=>(0,e.h)(n,l),header:()=>r?.headerSlot?r.headerSlot:r?.type?(0,e.h)("div",{class:"flex items-center gap-1"},[(0,e.h)(o.ElText,{type:r?.type}),(0,e.h)("span",{},u?.title||"提示")]):null,footer:()=>u.showFooter?(0,e.h)("div",{class:"flex justify-end items-center gap-4 p-4! pt-0!"},[r?.footerStartExtra||null,u.showConfirmButton?(0,e.h)(o.ElButton,{type:"primary",class:"m-0!",loading:d.value,onClick:f},()=>u.confirmButtonText):null,u.showCancelButton?(0,e.h)(o.ElButton,{type:"default",class:"m-0!",onClick:()=>{t.value=!1}},()=>u.cancelButtonText):null,r?.footerEndExtra||null]):null})}}),{id:t(),type:"dialog",props:l,configs:u});return d},exports.useDrawer=function(n,l,r){const u={modal:!1,appendToBody:!0,destroyOnClose:!0,draggable:!0,overflow:!0,...r||{},headerClass:[r?.headerClass||"","m-0! p-4!"].filter(Boolean).join(" "),bodyClass:[r?.bodyClass||"","m-0! p-4! pt-0!"].filter(Boolean).join(" "),footerClass:[r?.footerClass||"","m-0! p-4! pt-0!"].filter(Boolean).join(" "),onClosed:function(){r?.onClosed?.(),s(c)}},c=i((0,e.h)({setup(){const t=(0,e.ref)(void 0===u?.modelValue||u?.modelValue),r=(0,e.ref)(null);return(0,e.provide)(a,{ref:r,getDialogStatus:()=>t.value,openDialog:()=>{t.value=!0},closeDialog:()=>{t.value=!1}}),()=>(0,e.h)(o.ElDrawer,{...u,modelValue:t.value,"onUpdate:modelValue":e=>{t.value=e},onVnodeMounted(e){r.value=e?.component?.exposeProxy||null}},()=>(0,e.h)(n,l))}}),{id:t(),type:"drawer",props:l,configs:u})},exports.useImagePreview=async function(t){await async function(){if(document.querySelector(`#${m}`))return;const t=(0,e.h)({setup(){function t(e){v.value=e}return()=>(0,e.h)(o.ElImage,{src:g.value?.[0]||"",previewSrcList:g.value,previewTeleported:!0,zIndex:9999,fit:"contain",id:m,ref:t,teleported:!0,style:{width:0,height:0,position:"fixed",overflow:"hidden",top:"-999px",left:"-999px"}})}}),n=r(),l=document.createElement("div");n.appendChild(l),(0,e.render)(t,l)}(),v.value&&t?.length&&(g.value=t,requestIdleCallback(()=>{v.value?.showPreview?.()}))};
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let e=require("vue"),t=require("element-plus");new Proxy({accessKeyId:"",accessKeySecret:"",stsToken:"",region:"",bucket:"",refreshSTSTokenInterval:9999999},{get:(e,t)=>e[t],set:()=>!1});function o(){const e=globalThis.crypto;if("function"==typeof e?.randomUUID)return e.randomUUID();if("function"==typeof e?.getRandomValues){const t=e.getRandomValues(new Uint8Array(16));t[6]=15&(t[6]??0)|64,t[8]=63&(t[8]??0)|128;const o=Array.from(t,e=>e.toString(16).padStart(2,"0"));return[o.slice(0,4).join(""),o.slice(4,6).join(""),o.slice(6,8).join(""),o.slice(8,10).join(""),o.slice(10).join("")].join("-")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}const n="mp-popups-container",r=new WeakMap,l=Symbol("__POPUP_PROVIDE_NAME__");function a(){const e=document.querySelector(`body > div.${n.toString()}`);return e||function(){const e=document.createElement("div");return e.classList.add(`${n.toString()}`),document?.querySelector?.(`body > div.${"mp-popups-container".toString()}`)||document.body.appendChild(e),e}()}function i(t,o){const n=a(),l=document.createElement("div");return r.set(l,o),n.appendChild(l),(0,e.render)(t,l),l}function s(t){requestAnimationFrame(()=>{(0,e.render)(null,t),t.remove()})}var u=Symbol("__NOTICE_KEY__"),c=[],d=new Proxy(c,{get:(e,t)=>Reflect.get(e,t),set:()=>!1});function f(){localStorage.setItem(u.toString(),JSON.stringify(d))}var p=!1;var m=`Global-Image-Preview-${o()}`,g=(0,e.ref)([]),y=(0,e.shallowRef)(null);var v=new Map;function h(e){if("undefined"!=typeof window)return"local"===e?window.localStorage:window.sessionStorage}function w(e,t){const o=e.storage||"memory",n=(r=function(e){return JSON.parse(JSON.stringify(e))}(t),l=e.expireTime,{data:r,expireAt:l?Date.now()+l:void 0});var r,l;"memory"!==o?h(o)?.setItem(e.key,JSON.stringify(n)):v.set(e.key,n)}function x(e){const t=e.storage||"memory";let o;if("memory"===t)o=v.get(e.key);else{const n=h(t)?.getItem(e.key);if(n)try{o=JSON.parse(n)}catch{return S(e),null}}return o?function(e){return Boolean(e?.expireAt&&e.expireAt<Date.now())}(o)?(S(e),null):o.data:null}function S(e){const t=e.storage||"memory";"memory"!==t?h(t)?.removeItem(e.key):v.delete(e.key)}exports.PopupProvideKey=l,exports.addNotice=function(e,n){const r=function(e){const n=c.find(t=>t.message===e?.message&&t.title===e?.title),r=(0,t.dayjs)().format("YYYY-MM-DD HH:mm:ss");return{id:o(),mapId:n?n.mapId:o(),type:e?.type||"info",sort:c.length,title:e?.title,message:e?.message||"",duration:e?.duration||3e3,autoRender:void 0===e?.autoRender||Boolean(e?.autoRender),createdAt:r,effectiveAt:e?.effectiveAt||""}}("string"!=typeof e?e:{title:n,message:e});return r.autoRender&&function(e){(0,t.ElNotification)({...e?.notification||{},title:e?.title,message:e?.message,type:e?.type,customClass:`mp-notice-popup ${e?.notification?.customClass||""}`,duration:e?.duration||3e3,position:e?.notification?.position||"bottom-right"})}(r),c.push(r),f(),r},exports.clearNotices=function(){c.length=0,f()},exports.clearPageStateCache=S,exports.getNoticeList=function(){return p||(!function(){const e=localStorage.getItem(u.toString());if(e){const t=JSON.parse(e),o=c.slice();c.length=0,c.push(...t),c.sort((e,t)=>e.sort-t.sort),o.forEach(e=>{e.sort=c.length,c.push(e)})}}(),p=!0),d},exports.getPageStateCache=x,exports.removeNotice=function(e){const t=c.findIndex(t=>t.id===e);if(-1!==t){const[e]=c.splice(t,1);return f(),e??null}return null},exports.savePageStateCache=w,exports.useDialog=async function(n,r,a){const u={modal:!1,appendToBody:!0,destroyOnClose:!0,alignCenter:!0,draggable:!0,overflow:!0,...a||{},class:["mp-hook-dialog",a?.class||""].filter(Boolean).join(" "),headerClass:["mp-hook-dialog-header",a?.headerClass||""].filter(Boolean).join(" "),bodyClass:["mp-hook-dialog-body",a?.bodyClass||""].filter(Boolean).join(" "),footerClass:["mp-hook-dialog-footer",a?.footerClass||""].filter(Boolean).join(" "),onClosed:function(){a?.onClosed?.(),s(f)},showFooter:!!a?.showFooter,showConfirmButton:!0,showCancelButton:!0,confirmButtonText:a?.confirmButtonText??"确定",cancelButtonText:a?.cancelButtonText??"取消"};let c=null;const d=new Promise(e=>c=e),f=i((0,e.h)({setup(){const o=(0,e.ref)(void 0===u?.modelValue||u?.modelValue),i=(0,e.ref)(null),s=(0,e.shallowRef)(()=>!0),d=(0,e.ref)(!1);let f=(0,e.shallowRef)(null);async function p(){try{d.value=!0,f.value=await s.value(),(void 0===f.value||f.value)&&(c?.(f.value),o.value=!1)}catch(e){}finally{d.value=!1}}return(0,e.provide)(l,{ref:i,confirm:p,getDialogStatus:()=>o.value,openDialog:()=>{o.value=!0},closeDialog:()=>{o.value=!1},subscribeConfirmEvent:e=>{s.value=e}}),()=>(0,e.h)(t.ElDialog,{...u,modelValue:o.value,"onUpdate:modelValue":e=>{o.value=e},onVnodeMounted(e){i.value=e?.component?.exposeProxy||null}},{default:()=>(0,e.h)(n,r),header:()=>a?.headerSlot?a.headerSlot:a?.type?(0,e.h)("div",{class:"flex items-center gap-1"},[(0,e.h)(t.ElText,{type:a?.type}),(0,e.h)("span",{},u?.title||"提示")]):null,footer:()=>u.showFooter?(0,e.h)("div",{class:"flex justify-end items-center gap-4 p-4! pt-0!"},[a?.footerStartExtra||null,u.showConfirmButton?(0,e.h)(t.ElButton,{type:"primary",class:"m-0!",loading:d.value,onClick:p},()=>u.confirmButtonText):null,u.showCancelButton?(0,e.h)(t.ElButton,{type:"default",class:"m-0!",onClick:()=>{o.value=!1}},()=>u.cancelButtonText):null,a?.footerEndExtra||null]):null})}}),{id:o(),type:"dialog",props:r,configs:u});return d},exports.useDrawer=function(n,r,a){const u={modal:!1,appendToBody:!0,destroyOnClose:!0,draggable:!0,overflow:!0,...a||{},headerClass:[a?.headerClass||"","m-0! p-4!"].filter(Boolean).join(" "),bodyClass:[a?.bodyClass||"","m-0! p-4! pt-0!"].filter(Boolean).join(" "),footerClass:[a?.footerClass||"","m-0! p-4! pt-0!"].filter(Boolean).join(" "),onClosed:function(){a?.onClosed?.(),s(c)}},c=i((0,e.h)({setup(){const o=(0,e.ref)(void 0===u?.modelValue||u?.modelValue),a=(0,e.ref)(null);return(0,e.provide)(l,{ref:a,getDialogStatus:()=>o.value,openDialog:()=>{o.value=!0},closeDialog:()=>{o.value=!1}}),()=>(0,e.h)(t.ElDrawer,{...u,modelValue:o.value,"onUpdate:modelValue":e=>{o.value=e},onVnodeMounted(e){a.value=e?.component?.exposeProxy||null}},()=>(0,e.h)(n,r))}}),{id:o(),type:"drawer",props:r,configs:u})},exports.useImagePreview=async function(o){await async function(){if(document.querySelector(`#${m}`))return;const o=(0,e.h)({setup(){function o(e){y.value=e}return()=>(0,e.h)(t.ElImage,{src:g.value?.[0]||"",previewSrcList:g.value,previewTeleported:!0,zIndex:9999,fit:"contain",id:m,ref:o,teleported:!0,style:{width:0,height:0,position:"fixed",overflow:"hidden",top:"-999px",left:"-999px"}})}}),n=a(),r=document.createElement("div");n.appendChild(r),(0,e.render)(o,r)}(),y.value&&o?.length&&(g.value=o,requestIdleCallback(()=>{y.value?.showPreview?.()}))},exports.usePageStateCache=function(t){function o(){return(0,e.toValue)(t)}function n(){const e=o(),t=x(e);return t&&Object.assign(e.state,t),t}function r(){const e=o();w(e,e.state)}return(0,e.onMounted)(()=>{!1!==o().immediate&&n()}),(0,e.onBeforeUnmount)(()=>{!1!==o().saveOnUnmount&&r()}),{restore:n,save:r,clear:function(){S(o())}}};
package/hooks/index.d.ts CHANGED
@@ -3,3 +3,4 @@ export * from './src/dialog';
3
3
  export * from './src/drawer';
4
4
  export * from './src/notice';
5
5
  export * from './src/image-preview';
6
+ export * from './src/page-state-cache';
package/hooks/index.mjs CHANGED
@@ -1 +1 @@
1
- import{h as e,provide as o,ref as t,render as n,shallowRef as l}from"vue";import{ElButton as a,ElDialog as i,ElDrawer as r,ElImage as s,ElNotification as u,ElText as c,dayjs as d}from"element-plus";new Proxy({accessKeyId:"",accessKeySecret:"",stsToken:"",region:"",bucket:"",refreshSTSTokenInterval:9999999},{get:(e,o)=>e[o],set:()=>!1});function p(){const e=globalThis.crypto;if("function"==typeof e?.randomUUID)return e.randomUUID();if("function"==typeof e?.getRandomValues){const o=e.getRandomValues(new Uint8Array(16));o[6]=15&(o[6]??0)|64,o[8]=63&(o[8]??0)|128;const t=Array.from(o,e=>e.toString(16).padStart(2,"0"));return[t.slice(0,4).join(""),t.slice(4,6).join(""),t.slice(6,8).join(""),t.slice(8,10).join(""),t.slice(10).join("")].join("-")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}async function f(n,r,s){const u={modal:!1,appendToBody:!0,destroyOnClose:!0,alignCenter:!0,draggable:!0,overflow:!0,...s||{},class:["mp-hook-dialog",s?.class||""].filter(Boolean).join(" "),headerClass:["mp-hook-dialog-header",s?.headerClass||""].filter(Boolean).join(" "),bodyClass:["mp-hook-dialog-body",s?.bodyClass||""].filter(Boolean).join(" "),footerClass:["mp-hook-dialog-footer",s?.footerClass||""].filter(Boolean).join(" "),onClosed:function(){s?.onClosed?.(),S(m)},showFooter:!!s?.showFooter,showConfirmButton:!0,showCancelButton:!0,confirmButtonText:s?.confirmButtonText??"确定",cancelButtonText:s?.cancelButtonText??"取消"};let d=null;const f=new Promise(e=>d=e),m=C(e({setup(){const p=t(void 0===u?.modelValue||u?.modelValue),f=t(null),m=l(()=>!0),g=t(!1);let v=l(null);async function h(){try{g.value=!0,v.value=await m.value(),(void 0===v.value||v.value)&&(d?.(v.value),p.value=!1)}catch(e){}finally{g.value=!1}}return o(y,{ref:f,confirm:h,getDialogStatus:()=>p.value,openDialog:()=>{p.value=!0},closeDialog:()=>{p.value=!1},subscribeConfirmEvent:e=>{m.value=e}}),()=>e(i,{...u,modelValue:p.value,"onUpdate:modelValue":e=>{p.value=e},onVnodeMounted(e){f.value=e?.component?.exposeProxy||null}},{default:()=>e(n,r),header:()=>s?.headerSlot?s.headerSlot:s?.type?e("div",{class:"flex items-center gap-1"},[e(c,{type:s?.type}),e("span",{},u?.title||"提示")]):null,footer:()=>u.showFooter?e("div",{class:"flex justify-end items-center gap-4 p-4! pt-0!"},[s?.footerStartExtra||null,u.showConfirmButton?e(a,{type:"primary",class:"m-0!",loading:g.value,onClick:h},()=>u.confirmButtonText):null,u.showCancelButton?e(a,{type:"default",class:"m-0!",onClick:()=>{p.value=!1}},()=>u.cancelButtonText):null,s?.footerEndExtra||null]):null})}}),{id:p(),type:"dialog",props:r,configs:u});return f}function m(n,l,a){const i={modal:!1,appendToBody:!0,destroyOnClose:!0,draggable:!0,overflow:!0,...a||{},headerClass:[a?.headerClass||"","m-0! p-4!"].filter(Boolean).join(" "),bodyClass:[a?.bodyClass||"","m-0! p-4! pt-0!"].filter(Boolean).join(" "),footerClass:[a?.footerClass||"","m-0! p-4! pt-0!"].filter(Boolean).join(" "),onClosed:function(){a?.onClosed?.(),S(s)}},s=C(e({setup(){const a=t(void 0===i?.modelValue||i?.modelValue),s=t(null);return o(y,{ref:s,getDialogStatus:()=>a.value,openDialog:()=>{a.value=!0},closeDialog:()=>{a.value=!1}}),()=>e(r,{...i,modelValue:a.value,"onUpdate:modelValue":e=>{a.value=e},onVnodeMounted(e){s.value=e?.component?.exposeProxy||null}},()=>e(n,l))}}),{id:p(),type:"drawer",props:l,configs:i})}const g="mp-popups-container",v=/* @__PURE__ */new WeakMap,y=Symbol("__POPUP_PROVIDE_NAME__");function h(){const e=document.querySelector(`body > div.${g.toString()}`);return e||function(){const e=document.createElement("div");return e.classList.add(`${g.toString()}`),document?.querySelector?.(`body > div.${"mp-popups-container".toString()}`)||document.body.appendChild(e),e}()}function C(e,o){const t=h(),l=document.createElement("div");return v.set(l,o),t.appendChild(l),n(e,l),l}function S(e){requestAnimationFrame(()=>{n(null,e),e.remove()})}var w=Symbol("__NOTICE_KEY__"),x=[],B=new Proxy(x,{get:(e,o)=>Reflect.get(e,o),set:()=>!1});function b(){localStorage.setItem(w.toString(),JSON.stringify(B))}var j=!1;function I(e,o){const t=function(e){const o=x.find(o=>o.message===e?.message&&o.title===e?.title),t=d().format("YYYY-MM-DD HH:mm:ss");return{id:p(),mapId:o?o.mapId:p(),type:e?.type||"info",sort:x.length,title:e?.title,message:e?.message||"",duration:e?.duration||3e3,autoRender:void 0===e?.autoRender||Boolean(e?.autoRender),createdAt:t,effectiveAt:e?.effectiveAt||""}}("string"!=typeof e?e:{title:o,message:e});return t.autoRender&&function(e){u({...e?.notification||{},title:e?.title,message:e?.message,type:e?.type,customClass:`mp-notice-popup ${e?.notification?.customClass||""}`,duration:e?.duration||3e3,position:e?.notification?.position||"bottom-right"})}(t),x.push(t),b(),t}function T(e){const o=x.findIndex(o=>o.id===e);if(-1!==o){const[e]=x.splice(o,1);return b(),e??null}return null}function V(){return j||(!function(){const e=localStorage.getItem(w.toString());if(e){const o=JSON.parse(e),t=x.slice();x.length=0,x.push(...o),x.sort((e,o)=>e.sort-o.sort),t.forEach(e=>{e.sort=x.length,x.push(e)})}}(),j=!0),B}function D(){x.length=0,b()}var E=`Global-Image-Preview-${p()}`,k=t([]),P=l(null);async function _(o){await async function(){if(document.querySelector(`#${E}`))return;const o=e({setup(){function o(e){P.value=e}return()=>e(s,{src:k.value?.[0]||"",previewSrcList:k.value,previewTeleported:!0,zIndex:9999,fit:"contain",id:E,ref:o,teleported:!0,style:{width:0,height:0,position:"fixed",overflow:"hidden",top:"-999px",left:"-999px"}})}}),t=h(),l=document.createElement("div");t.appendChild(l),n(o,l)}(),P.value&&o?.length&&(k.value=o,requestIdleCallback(()=>{P.value?.showPreview?.()}))}export{y as PopupProvideKey,I as addNotice,D as clearNotices,V as getNoticeList,T as removeNotice,f as useDialog,m as useDrawer,_ as useImagePreview};
1
+ import{h as e,onBeforeUnmount as t,onMounted as o,provide as n,ref as l,render as a,shallowRef as r,toValue as i}from"vue";import{ElButton as s,ElDialog as u,ElDrawer as c,ElImage as d,ElNotification as f,ElText as m,dayjs as p}from"element-plus";new Proxy({accessKeyId:"",accessKeySecret:"",stsToken:"",region:"",bucket:"",refreshSTSTokenInterval:9999999},{get:(e,t)=>e[t],set:()=>!1});function g(){const e=globalThis.crypto;if("function"==typeof e?.randomUUID)return e.randomUUID();if("function"==typeof e?.getRandomValues){const t=e.getRandomValues(new Uint8Array(16));t[6]=15&(t[6]??0)|64,t[8]=63&(t[8]??0)|128;const o=Array.from(t,e=>e.toString(16).padStart(2,"0"));return[o.slice(0,4).join(""),o.slice(4,6).join(""),o.slice(6,8).join(""),o.slice(8,10).join(""),o.slice(10).join("")].join("-")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}async function y(t,o,a){const i={modal:!1,appendToBody:!0,destroyOnClose:!0,alignCenter:!0,draggable:!0,overflow:!0,...a||{},class:["mp-hook-dialog",a?.class||""].filter(Boolean).join(" "),headerClass:["mp-hook-dialog-header",a?.headerClass||""].filter(Boolean).join(" "),bodyClass:["mp-hook-dialog-body",a?.bodyClass||""].filter(Boolean).join(" "),footerClass:["mp-hook-dialog-footer",a?.footerClass||""].filter(Boolean).join(" "),onClosed:function(){a?.onClosed?.(),B(f)},showFooter:!!a?.showFooter,showConfirmButton:!0,showCancelButton:!0,confirmButtonText:a?.confirmButtonText??"确定",cancelButtonText:a?.cancelButtonText??"取消"};let c=null;const d=new Promise(e=>c=e),f=x(e({setup(){const d=l(void 0===i?.modelValue||i?.modelValue),f=l(null),p=r(()=>!0),g=l(!1);let y=r(null);async function v(){try{g.value=!0,y.value=await p.value(),(void 0===y.value||y.value)&&(c?.(y.value),d.value=!1)}catch(e){}finally{g.value=!1}}return n(C,{ref:f,confirm:v,getDialogStatus:()=>d.value,openDialog:()=>{d.value=!0},closeDialog:()=>{d.value=!1},subscribeConfirmEvent:e=>{p.value=e}}),()=>e(u,{...i,modelValue:d.value,"onUpdate:modelValue":e=>{d.value=e},onVnodeMounted(e){f.value=e?.component?.exposeProxy||null}},{default:()=>e(t,o),header:()=>a?.headerSlot?a.headerSlot:a?.type?e("div",{class:"flex items-center gap-1"},[e(m,{type:a?.type}),e("span",{},i?.title||"提示")]):null,footer:()=>i.showFooter?e("div",{class:"flex justify-end items-center gap-4 p-4! pt-0!"},[a?.footerStartExtra||null,i.showConfirmButton?e(s,{type:"primary",class:"m-0!",loading:g.value,onClick:v},()=>i.confirmButtonText):null,i.showCancelButton?e(s,{type:"default",class:"m-0!",onClick:()=>{d.value=!1}},()=>i.cancelButtonText):null,a?.footerEndExtra||null]):null})}}),{id:g(),type:"dialog",props:o,configs:i});return d}function v(t,o,a){const r={modal:!1,appendToBody:!0,destroyOnClose:!0,draggable:!0,overflow:!0,...a||{},headerClass:[a?.headerClass||"","m-0! p-4!"].filter(Boolean).join(" "),bodyClass:[a?.bodyClass||"","m-0! p-4! pt-0!"].filter(Boolean).join(" "),footerClass:[a?.footerClass||"","m-0! p-4! pt-0!"].filter(Boolean).join(" "),onClosed:function(){a?.onClosed?.(),B(i)}},i=x(e({setup(){const a=l(void 0===r?.modelValue||r?.modelValue),i=l(null);return n(C,{ref:i,getDialogStatus:()=>a.value,openDialog:()=>{a.value=!0},closeDialog:()=>{a.value=!1}}),()=>e(c,{...r,modelValue:a.value,"onUpdate:modelValue":e=>{a.value=e},onVnodeMounted(e){i.value=e?.component?.exposeProxy||null}},()=>e(t,o))}}),{id:g(),type:"drawer",props:o,configs:r})}const h="mp-popups-container",w=/* @__PURE__ */new WeakMap,C=Symbol("__POPUP_PROVIDE_NAME__");function S(){const e=document.querySelector(`body > div.${h.toString()}`);return e||function(){const e=document.createElement("div");return e.classList.add(`${h.toString()}`),document?.querySelector?.(`body > div.${"mp-popups-container".toString()}`)||document.body.appendChild(e),e}()}function x(e,t){const o=S(),n=document.createElement("div");return w.set(n,t),o.appendChild(n),a(e,n),n}function B(e){requestAnimationFrame(()=>{a(null,e),e.remove()})}var b=Symbol("__NOTICE_KEY__"),k=[],I=new Proxy(k,{get:(e,t)=>Reflect.get(e,t),set:()=>!1});function j(){localStorage.setItem(b.toString(),JSON.stringify(I))}var T=!1;function D(e,t){const o=function(e){const t=k.find(t=>t.message===e?.message&&t.title===e?.title),o=p().format("YYYY-MM-DD HH:mm:ss");return{id:g(),mapId:t?t.mapId:g(),type:e?.type||"info",sort:k.length,title:e?.title,message:e?.message||"",duration:e?.duration||3e3,autoRender:void 0===e?.autoRender||Boolean(e?.autoRender),createdAt:o,effectiveAt:e?.effectiveAt||""}}("string"!=typeof e?e:{title:t,message:e});return o.autoRender&&function(e){f({...e?.notification||{},title:e?.title,message:e?.message,type:e?.type,customClass:`mp-notice-popup ${e?.notification?.customClass||""}`,duration:e?.duration||3e3,position:e?.notification?.position||"bottom-right"})}(o),k.push(o),j(),o}function O(e){const t=k.findIndex(t=>t.id===e);if(-1!==t){const[e]=k.splice(t,1);return j(),e??null}return null}function V(){return T||(!function(){const e=localStorage.getItem(b.toString());if(e){const t=JSON.parse(e),o=k.slice();k.length=0,k.push(...t),k.sort((e,t)=>e.sort-t.sort),o.forEach(e=>{e.sort=k.length,k.push(e)})}}(),T=!0),I}function E(){k.length=0,j()}var P=`Global-Image-Preview-${g()}`,_=l([]),A=r(null);async function U(t){await async function(){if(document.querySelector(`#${P}`))return;const t=e({setup(){function t(e){A.value=e}return()=>e(d,{src:_.value?.[0]||"",previewSrcList:_.value,previewTeleported:!0,zIndex:9999,fit:"contain",id:P,ref:t,teleported:!0,style:{width:0,height:0,position:"fixed",overflow:"hidden",top:"-999px",left:"-999px"}})}}),o=S(),n=document.createElement("div");o.appendChild(n),a(t,n)}(),A.value&&t?.length&&(_.value=t,requestIdleCallback(()=>{A.value?.showPreview?.()}))}var M=/* @__PURE__ */new Map;function N(e){if("undefined"!=typeof window)return"local"===e?window.localStorage:window.sessionStorage}function R(e,t){const o=e.storage||"memory",n=(l=function(e){return JSON.parse(JSON.stringify(e))}(t),a=e.expireTime,{data:l,expireAt:a?Date.now()+a:void 0});var l,a;"memory"!==o?N(o)?.setItem(e.key,JSON.stringify(n)):M.set(e.key,n)}function $(e){const t=e.storage||"memory";let o;if("memory"===t)o=M.get(e.key);else{const n=N(t)?.getItem(e.key);if(n)try{o=JSON.parse(n)}catch{return J(e),null}}return o?function(e){return Boolean(e?.expireAt&&e.expireAt<Date.now())}(o)?(J(e),null):o.data:null}function J(e){const t=e.storage||"memory";"memory"!==t?N(t)?.removeItem(e.key):M.delete(e.key)}function q(e){function n(){return i(e)}function l(){const e=n(),t=$(e);return t&&Object.assign(e.state,t),t}function a(){const e=n();R(e,e.state)}return o(()=>{!1!==n().immediate&&l()}),t(()=>{!1!==n().saveOnUnmount&&a()}),{restore:l,save:a,clear:function(){J(n())}}}export{C as PopupProvideKey,D as addNotice,E as clearNotices,J as clearPageStateCache,V as getNoticeList,$ as getPageStateCache,O as removeNotice,R as savePageStateCache,y as useDialog,v as useDrawer,U as useImagePreview,q as usePageStateCache};
@@ -0,0 +1,20 @@
1
+ import { MaybeRefOrGetter } from 'vue';
2
+ export type PageStateCacheStorage = 'memory' | 'session' | 'local';
3
+ export interface PageStateCacheConfig {
4
+ key: string;
5
+ storage?: PageStateCacheStorage;
6
+ expireTime?: number;
7
+ }
8
+ export interface UsePageStateCacheOptions<T extends object> extends PageStateCacheConfig {
9
+ state: T;
10
+ immediate?: boolean;
11
+ saveOnUnmount?: boolean;
12
+ }
13
+ export declare function savePageStateCache<T extends object>(config: PageStateCacheConfig, state: T): void;
14
+ export declare function getPageStateCache<T extends object>(config: PageStateCacheConfig): T | null;
15
+ export declare function clearPageStateCache(config: PageStateCacheConfig): void;
16
+ export declare function usePageStateCache<T extends object>(options: MaybeRefOrGetter<UsePageStateCacheOptions<T>>): {
17
+ restore: () => T | null;
18
+ save: () => void;
19
+ clear: () => void;
20
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "morningfast-plus",
3
- "version": "1.1.26",
3
+ "version": "1.1.27",
4
4
  "type": "module",
5
5
  "description": "A library based on Vue 3 and Element Plus",
6
6
  "author": "jishu_app@morningfast.com",