@synnaxlabs/drift 0.54.0 → 0.55.0
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/dist/drift.cjs +1 -1
- package/dist/drift.js +66 -66
- package/dist/react.cjs +1 -1
- package/dist/react.js +1 -1
- package/dist/{selectors-CNMpvNhS.js → selectors-BJDn7YrO.js} +1 -1
- package/dist/{selectors-Bs8JhAIN.cjs → selectors-BXRepCOf.cjs} +1 -1
- package/dist/{state-Ne5iph6p.js → state-B0AhlJI7.js} +46 -46
- package/dist/{state-Cqdzy3Ab.cjs → state-CynG0Zxv.cjs} +1 -1
- package/dist/tauri.cjs +1 -1
- package/dist/tauri.js +21 -21
- package/dist/window-CXsPQtRu.cjs +50 -0
- package/dist/{window-b_pX3pWi.js → window-Cuphmj99.js} +2210 -1867
- package/package.json +12 -12
- package/dist/window-7qdnLqUa.cjs +0 -45
package/dist/drift.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./window-7qdnLqUa.cjs`),t=require(`./state-Cqdzy3Ab.cjs`),n=require(`./selectors-Bs8JhAIN.cjs`);let r=require(`@reduxjs/toolkit`);var i=Error(`request for lock canceled`),a=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},o=class{constructor(e,t=i){this._value=e,this._cancelError=t,this._queue=[],this._weightedWaiters=[]}acquire(e=1,t=0){if(e<=0)throw Error(`invalid weight ${e}: must be positive`);return new Promise((n,r)=>{let i={resolve:n,reject:r,weight:e,priority:t},a=c(this._queue,e=>t<=e.priority);a===-1&&e<=this._value?this._dispatchItem(i):this._queue.splice(a+1,0,i)})}runExclusive(e){return a(this,arguments,void 0,function*(e,t=1,n=0){let[r,i]=yield this.acquire(t,n);try{return yield e(r)}finally{i()}})}waitForUnlock(e=1,t=0){if(e<=0)throw Error(`invalid weight ${e}: must be positive`);return this._couldLockImmediately(e,t)?Promise.resolve():new Promise(n=>{this._weightedWaiters[e-1]||(this._weightedWaiters[e-1]=[]),s(this._weightedWaiters[e-1],{resolve:n,priority:t})})}isLocked(){return this._value<=0}getValue(){return this._value}setValue(e){this._value=e,this._dispatchQueue()}release(e=1){if(e<=0)throw Error(`invalid weight ${e}: must be positive`);this._value+=e,this._dispatchQueue()}cancel(){this._queue.forEach(e=>e.reject(this._cancelError)),this._queue=[]}_dispatchQueue(){for(this._drainUnlockWaiters();this._queue.length>0&&this._queue[0].weight<=this._value;)this._dispatchItem(this._queue.shift()),this._drainUnlockWaiters()}_dispatchItem(e){let t=this._value;this._value-=e.weight,e.resolve([t,this._newReleaser(e.weight)])}_newReleaser(e){let t=!1;return()=>{t||(t=!0,this.release(e))}}_drainUnlockWaiters(){if(this._queue.length===0)for(let e=this._value;e>0;e--){let t=this._weightedWaiters[e-1];t&&(t.forEach(e=>e.resolve()),this._weightedWaiters[e-1]=[])}else{let e=this._queue[0].priority;for(let t=this._value;t>0;t--){let n=this._weightedWaiters[t-1];if(!n)continue;let r=n.findIndex(t=>t.priority<=e);(r===-1?n:n.splice(0,r)).forEach((e=>e.resolve()))}}}_couldLockImmediately(e,t){return(this._queue.length===0||this._queue[0].priority<t)&&e<=this._value}};function s(e,t){let n=c(e,e=>t.priority<=e.priority);e.splice(n+1,0,t)}function c(e,t){for(let n=e.length-1;n>=0;n--)if(t(e[n]))return n;return-1}var l=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},u=class{constructor(e){this._semaphore=new o(1,e)}acquire(){return l(this,arguments,void 0,function*(e=0){let[,t]=yield this._semaphore.acquire(1,e);return t})}runExclusive(e,t=0){return this._semaphore.runExclusive(()=>e(),1,t)}isLocked(){return this._semaphore.isLocked()}waitForUnlock(e=0){return this._semaphore.waitForUnlock(1,e)}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}},d=`DA@`,f=`://`,p=(e,t)=>d.concat(t,f,e),m=e=>{let[t,n]=e.split(f);if(n==null)return[e,``];let[,r]=t.split(d);return[n,r]},h=(e,t)=>({...e,type:p(e.type,t)}),g=e=>{let[t,n]=m(e.type);return{emitted:n!=null&&n.length>0,emitter:n,action:{...e,type:t}}},_=e=>{let{centerCount:t,processCount:n,focusCount:r,stage:i,key:a,prerenderLabel:o,reserved:s,minimized:c,...l}=e;return l},v=async(n,r,i,a)=>{let o=(await i.listLabels()).filter(t=>t!==e.r),s=Object.keys(n.windows).filter(t=>t!==e.r);t.j(a,`syncInitial`),t.N(a,`existing windows in runtime`,o.sort()),t.N(a,`non-main windows in state`,s.sort()),t.M(a);let c=e.m.unique([...o,...s]);for(let e of c)!o.includes(e)&&i.isMain()?(t.N(a,`state window not in runtime, creating`,e),await S(i,e,n.windows[e],a)):s.includes(e)||(t.N(a,`runtime window not in state, closing`,e),await C(i,e,a));let l=i.label(),u=n.windows[l];u!=null&&(await b({...e.n,key:l},u,i,a),r(t.p({label:i.label(),...await i.getProps()})))},y=async(e,n,r,i)=>{t.N(i,`sync`,e,n),r.isMain()&&await x(e,n,r,i);let a=e.windows[r.label()],o=n.windows[r.label()];a==null||o==null||await b(a,o,r,i)},b=async(n,r,i,a)=>{let o=[];r.title!=null&&r.title!==n.title&&o.push([`title`,{prev:n.title,next:r.title},async()=>i.setTitle(r.title)]);let s=r.visible!=null&&r.visible!==n.visible,c=r.visible===!1,l=()=>o.push([`visible`,{prev:n.visible,next:r.visible},async()=>{if(await i.setVisible(r.visible),r.visible===!1)return;let t=r.position;t??=(await i.getProps()).position,t!=null&&(await i.setPosition(e.f.translate(t,{x:1,y:1})),await i.setPosition(t))}]);if(s&&c&&l(),r.skipTaskbar!=null&&r.skipTaskbar!==n.skipTaskbar&&o.push([`skipTaskbar`,{prev:n.skipTaskbar,next:r.skipTaskbar},async()=>await i.setSkipTaskbar(r.skipTaskbar)]),r.maximized!=null&&r.maximized!==n.maximized&&o.push([`maximized`,{prev:n.maximized,next:r.maximized},async()=>await i.setMaximized(r.maximized)]),r.fullscreen!=null&&r.fullscreen!==n.fullscreen&&o.push([`fullscreen`,{prev:n.fullscreen,next:r.fullscreen},async()=>await i.setFullscreen(r.fullscreen)]),r.centerCount!==n.centerCount&&o.push([`center`,{prev:n.centerCount,next:r.centerCount},async()=>i.center()]),r.minimized!=null&&r.minimized!==n.minimized&&o.push([`minimized`,{prev:n.minimized,next:r.minimized},async()=>await i.setMinimized(r.minimized)]),r.resizable!=null&&r.resizable!==n.resizable&&o.push([`resizable`,{prev:n.resizable,next:r.resizable},async()=>await i.setResizable(r.resizable)]),r.minSize!=null&&!e.u.equals(r.minSize,n.minSize)&&o.push([`minSize`,{prev:n.minSize,next:r.minSize},async()=>await i.setMinSize(r.minSize)]),r.maxSize!=null&&!e.u.equals(r.maxSize,n.maxSize)&&o.push([`maxSize`,{prev:n.maxSize,next:r.maxSize},async()=>await i.setMaxSize(r.maxSize)]),r.size!=null&&!e.u.equals(r.size,n.size)&&o.push([`size`,{prev:n.size,next:r.size},async()=>await i.setSize(r.size)]),r.position!=null&&!e.u.equals(r.position,n.position)&&o.push([`position`,{prev:n.position,next:r.position},async()=>await i.setPosition(r.position)]),r.focusCount!==n.focusCount&&o.push([`setVisible`,{prev:n.visible,next:r.visible},async()=>await i.setVisible(!0)],[`focus`,{prev:n.focusCount,next:r.focusCount},async()=>await i.focus()]),r.decorations!=null&&r.decorations!==n.decorations&&o.push([`decorations`,{prev:n.decorations,next:r.decorations},async()=>await i.setDecorations(r.decorations)]),r.alwaysOnTop!=null&&r.alwaysOnTop!==n.alwaysOnTop&&o.push([`alwaysOnTop`,{prev:n.alwaysOnTop,next:r.alwaysOnTop},async()=>await i.setAlwaysOnTop(r.alwaysOnTop)]),s&&!c&&l(),o.length!==0){t.j(a,`syncCurrent, label: ${i.label()}, key: ${r.key}`);for(let[e,{prev:n,next:r}]of o)t.N(a,e,n,`->`,r);t.M(a);for(let[,,e]of o)await e()}},x=async(n,r,i,a)=>{let o=Object.keys(n.windows).filter(e=>!(e in r.windows)),s=Object.keys(r.windows).filter(e=>!(e in n.windows)),c=i.isMain();if(c&&o.length>0)for(let n of o)t.N(a,`syncMain`,`closing`,n),n===`main`&&await Promise.all(Object.keys(r.windows).filter(t=>t!==e.r).map(async e=>await C(i,e,a))),await C(i,n,a);if(c&&s.length>0)for(let e of s)await S(i,e,r.windows[e],a)},S=async(e,n,r,i)=>(t.N(i,`createWindow`,r),await e.create(n,_(r))),C=async(e,n,r)=>(t.N(r,`closeWindow`,n),await e.close(n)),w=`[drift] - unexpected undefined action`,T=`[drift] - unexpected undefined action type`,E=e=>{if(e.emitted??=!1,e.action==null)throw console.warn(w,e),Error(w);if(e.action.type==null||e.action.type.length===0)throw console.warn(T,e),Error(T)},D=new u,O=[t.p.type,t.f.type],k=(e,n=!1)=>r=>i=>a=>{let{action:o,emitted:s,emitter:c}=g(a),l=e.label();E({action:a,emitted:s,emitter:c});let u=t.l(o.type);if(u&&t.N(n,`[drift] - middleware`,{action:o,emitted:s,emitter:c,host:l}),c===e.label())return;let d=u&&!O.includes(o.type),f=null;u&&(f=r.getState().drift,o=t.r(o,f));let p=i(o),m=d?r.getState().drift:null,h=t.A(s,o.type);return D.runExclusive(async()=>{try{f!==null&&m!==null&&await y(f,m,e,n),h&&await e.emit({action:o})}catch(e){t.N(n,`[drift] - ERROR`,{error:e.message,action:o,emitted:s,emitter:c,host:l}),r.dispatch(t.g({key:l,message:e.message}))}}),p},A=(e,t,n=!1)=>r=>{let i=e==null?r():typeof e==`function`?e(r):e;return[k(t,n),...i]},j=async({runtime:e,preloadedState:n,middleware:i,debug:a=!1,enablePrerender:o=!0,defaultWindowProps:s,...c})=>{await e.configure();let l;l=(0,r.configureStore)({...c,preloadedState:await M(a,e,()=>l,s,n),middleware:A(i,e,a)}),await v(l.getState().drift,l.dispatch,e,a);let u=e.label();return l.dispatch(t.c({enablePrerender:o,defaultWindowProps:s,debug:a,label:u})),l.dispatch(t.D({stage:`created`})),e.onCloseRequested(()=>l?.dispatch(t.i({}))),l},M=async(t,n,r,i,a)=>n.isMain()?(await n.subscribe(({action:e,emitter:t,sendState:i})=>{let a=r();if(a==null)return;if(e!=null){E({action:e,emitter:t}),a.dispatch(h(e,t));return}let o=a.getState();i===!0&&n.emit({state:o},t)}),typeof a==`function`?P(i,t,await a()):P(i,t,a)):await new Promise((t,i)=>{(async()=>{try{await n.subscribe(({action:e,emitter:n,state:i})=>{let a=r();if(a==null)return i==null?void 0:t(i);e!=null&&(E({action:e,emitter:n}),a.dispatch(h(e,n)))}),await n.emit({sendState:!0},e.r)}catch(e){i(e)}})()}),N=j,P=(e,n,r)=>{if(r==null)return r;let i=r[t.t];return i.config.debug=n??i.config.debug,i.windows=Object.fromEntries(Object.entries(i.windows).filter(([,e])=>e.reserved).map(([t,n])=>(e?.visible!=null&&(n.visible=e.visible),n.focusCount=0,n.centerCount=0,n.processCount=0,[t,n]))),r},F=class{async emit(){}async subscribe(){}isMain(){return!0}label(){return e.r}onCloseRequested(){}async listLabels(){return[]}async getProps(){return{}}async create(){}async close(){}async focus(){}async setMinimized(){}async setMaximized(){}async setVisible(){}async setFullscreen(){}async center(){}async setPosition(){}async setSize(){}async setMinSize(){}async setMaxSize(){}async setResizable(){}async setSkipTaskbar(){}async setAlwaysOnTop(){}async setDecorations(){}async setTitle(){}async configure(){}},I=e.h({MAIN_WINDOW:()=>e.r,NoopRuntime:()=>F,SLICE_NAME:()=>t.t,ZERO_SLICE_STATE:()=>t.n,closeWindow:()=>t.i,completeProcess:()=>t.a,configureStore:()=>N,createWindow:()=>t.o,focusWindow:()=>t.s,reducer:()=>t.u,registerProcess:()=>t.d,reloadWindow:()=>t.f,selectSliceState:()=>n.t,selectWindow:()=>n.n,selectWindowAttribute:()=>n.r,selectWindowKey:()=>n.i,selectWindowLabel:()=>n.a,selectWindows:()=>n.o,setWindowAlwaysOnTop:()=>t.m,setWindowDecorations:()=>t.h,setWindowFullscreen:()=>t._,setWindowMaxSize:()=>t.v,setWindowMaximized:()=>t.y,setWindowMinSize:()=>t.b,setWindowMinimized:()=>t.x,setWindowPosition:()=>t.S,setWindowProps:()=>t.C,setWindowResizable:()=>t.w,setWindowSize:()=>t.T,setWindowSkipTaskbar:()=>t.E,setWindowStage:()=>t.D,setWindowTitle:()=>t.O,setWindowVisible:()=>t.k,windowPropsZ:()=>e.a});Object.defineProperty(exports,`Drift`,{enumerable:!0,get:function(){return I}}),exports.MAIN_WINDOW=e.r,exports.NoopRuntime=F,exports.SLICE_NAME=t.t,exports.ZERO_SLICE_STATE=t.n,exports.closeWindow=t.i,exports.completeProcess=t.a,exports.configureStore=N,exports.createWindow=t.o,exports.focusWindow=t.s,exports.reducer=t.u,exports.registerProcess=t.d,exports.reloadWindow=t.f,exports.selectSliceState=n.t,exports.selectWindow=n.n,exports.selectWindowAttribute=n.r,exports.selectWindowKey=n.i,exports.selectWindowLabel=n.a,exports.selectWindows=n.o,exports.setWindowAlwaysOnTop=t.m,exports.setWindowDecorations=t.h,exports.setWindowFullscreen=t._,exports.setWindowMaxSize=t.v,exports.setWindowMaximized=t.y,exports.setWindowMinSize=t.b,exports.setWindowMinimized=t.x,exports.setWindowPosition=t.S,exports.setWindowProps=t.C,exports.setWindowResizable=t.w,exports.setWindowSize=t.T,exports.setWindowSkipTaskbar=t.E,exports.setWindowStage=t.D,exports.setWindowTitle=t.O,exports.setWindowVisible=t.k,exports.windowPropsZ=e.a;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./window-CXsPQtRu.cjs`),t=require(`./state-CynG0Zxv.cjs`),n=require(`./selectors-BXRepCOf.cjs`);let r=require(`@reduxjs/toolkit`);var i=Error(`request for lock canceled`),a=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},o=class{constructor(e,t=i){this._value=e,this._cancelError=t,this._queue=[],this._weightedWaiters=[]}acquire(e=1,t=0){if(e<=0)throw Error(`invalid weight ${e}: must be positive`);return new Promise((n,r)=>{let i={resolve:n,reject:r,weight:e,priority:t},a=c(this._queue,e=>t<=e.priority);a===-1&&e<=this._value?this._dispatchItem(i):this._queue.splice(a+1,0,i)})}runExclusive(e){return a(this,arguments,void 0,function*(e,t=1,n=0){let[r,i]=yield this.acquire(t,n);try{return yield e(r)}finally{i()}})}waitForUnlock(e=1,t=0){if(e<=0)throw Error(`invalid weight ${e}: must be positive`);return this._couldLockImmediately(e,t)?Promise.resolve():new Promise(n=>{this._weightedWaiters[e-1]||(this._weightedWaiters[e-1]=[]),s(this._weightedWaiters[e-1],{resolve:n,priority:t})})}isLocked(){return this._value<=0}getValue(){return this._value}setValue(e){this._value=e,this._dispatchQueue()}release(e=1){if(e<=0)throw Error(`invalid weight ${e}: must be positive`);this._value+=e,this._dispatchQueue()}cancel(){this._queue.forEach(e=>e.reject(this._cancelError)),this._queue=[]}_dispatchQueue(){for(this._drainUnlockWaiters();this._queue.length>0&&this._queue[0].weight<=this._value;)this._dispatchItem(this._queue.shift()),this._drainUnlockWaiters()}_dispatchItem(e){let t=this._value;this._value-=e.weight,e.resolve([t,this._newReleaser(e.weight)])}_newReleaser(e){let t=!1;return()=>{t||(t=!0,this.release(e))}}_drainUnlockWaiters(){if(this._queue.length===0)for(let e=this._value;e>0;e--){let t=this._weightedWaiters[e-1];t&&(t.forEach(e=>e.resolve()),this._weightedWaiters[e-1]=[])}else{let e=this._queue[0].priority;for(let t=this._value;t>0;t--){let n=this._weightedWaiters[t-1];if(!n)continue;let r=n.findIndex(t=>t.priority<=e);(r===-1?n:n.splice(0,r)).forEach((e=>e.resolve()))}}}_couldLockImmediately(e,t){return(this._queue.length===0||this._queue[0].priority<t)&&e<=this._value}};function s(e,t){let n=c(e,e=>t.priority<=e.priority);e.splice(n+1,0,t)}function c(e,t){for(let n=e.length-1;n>=0;n--)if(t(e[n]))return n;return-1}var l=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},u=class{constructor(e){this._semaphore=new o(1,e)}acquire(){return l(this,arguments,void 0,function*(e=0){let[,t]=yield this._semaphore.acquire(1,e);return t})}runExclusive(e,t=0){return this._semaphore.runExclusive(()=>e(),1,t)}isLocked(){return this._semaphore.isLocked()}waitForUnlock(e=0){return this._semaphore.waitForUnlock(1,e)}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}},d=`DA@`,f=`://`,p=(e,t)=>d.concat(t,f,e),m=e=>{let[t,n]=e.split(f);if(n==null)return[e,``];let[,r]=t.split(d);return[n,r]},h=(e,t)=>({...e,type:p(e.type,t)}),g=e=>{let[t,n]=m(e.type);return{emitted:n!=null&&n.length>0,emitter:n,action:{...e,type:t}}},_=e=>{let{centerCount:t,processCount:n,focusCount:r,stage:i,key:a,prerenderLabel:o,reserved:s,minimized:c,...l}=e;return l},v=async(n,r,i,a)=>{let o=(await i.listLabels()).filter(t=>t!==e.r),s=Object.keys(n.windows).filter(t=>t!==e.r);t.j(a,`syncInitial`),t.N(a,`existing windows in runtime`,o.sort()),t.N(a,`non-main windows in state`,s.sort()),t.M(a);let c=e.o.unique([...o,...s]);for(let e of c)!o.includes(e)&&i.isMain()?(t.N(a,`state window not in runtime, creating`,e),await S(i,e,n.windows[e],a)):s.includes(e)||(t.N(a,`runtime window not in state, closing`,e),await C(i,e,a));let l=i.label(),u=n.windows[l];u!=null&&(await b({...e.n,key:l},u,i,a),r(t.p({label:i.label(),...await i.getProps()})))},y=async(e,n,r,i)=>{t.N(i,`sync`,e,n),r.isMain()&&await x(e,n,r,i);let a=e.windows[r.label()],o=n.windows[r.label()];a==null||o==null||await b(a,o,r,i)},b=async(n,r,i,a)=>{let o=[];r.title!=null&&r.title!==n.title&&o.push([`title`,{prev:n.title,next:r.title},async()=>i.setTitle(r.title)]);let s=r.visible!=null&&r.visible!==n.visible,c=r.visible===!1,l=()=>o.push([`visible`,{prev:n.visible,next:r.visible},async()=>{if(await i.setVisible(r.visible),r.visible===!1)return;let t=r.position;t??=(await i.getProps()).position,t!=null&&(await i.setPosition(e.u.translate(t,{x:1,y:1})),await i.setPosition(t))}]);if(s&&c&&l(),r.skipTaskbar!=null&&r.skipTaskbar!==n.skipTaskbar&&o.push([`skipTaskbar`,{prev:n.skipTaskbar,next:r.skipTaskbar},async()=>await i.setSkipTaskbar(r.skipTaskbar)]),r.maximized!=null&&r.maximized!==n.maximized&&o.push([`maximized`,{prev:n.maximized,next:r.maximized},async()=>await i.setMaximized(r.maximized)]),r.fullscreen!=null&&r.fullscreen!==n.fullscreen&&o.push([`fullscreen`,{prev:n.fullscreen,next:r.fullscreen},async()=>await i.setFullscreen(r.fullscreen)]),r.centerCount!==n.centerCount&&o.push([`center`,{prev:n.centerCount,next:r.centerCount},async()=>i.center()]),r.minimized!=null&&r.minimized!==n.minimized&&o.push([`minimized`,{prev:n.minimized,next:r.minimized},async()=>await i.setMinimized(r.minimized)]),r.resizable!=null&&r.resizable!==n.resizable&&o.push([`resizable`,{prev:n.resizable,next:r.resizable},async()=>await i.setResizable(r.resizable)]),r.minSize!=null&&!e.p.equals(r.minSize,n.minSize)&&o.push([`minSize`,{prev:n.minSize,next:r.minSize},async()=>await i.setMinSize(r.minSize)]),r.maxSize!=null&&!e.p.equals(r.maxSize,n.maxSize)&&o.push([`maxSize`,{prev:n.maxSize,next:r.maxSize},async()=>await i.setMaxSize(r.maxSize)]),r.size!=null&&!e.p.equals(r.size,n.size)&&o.push([`size`,{prev:n.size,next:r.size},async()=>await i.setSize(r.size)]),r.position!=null&&!e.p.equals(r.position,n.position)&&o.push([`position`,{prev:n.position,next:r.position},async()=>await i.setPosition(r.position)]),r.focusCount!==n.focusCount&&o.push([`setVisible`,{prev:n.visible,next:r.visible},async()=>await i.setVisible(!0)],[`focus`,{prev:n.focusCount,next:r.focusCount},async()=>await i.focus()]),r.decorations!=null&&r.decorations!==n.decorations&&o.push([`decorations`,{prev:n.decorations,next:r.decorations},async()=>await i.setDecorations(r.decorations)]),r.alwaysOnTop!=null&&r.alwaysOnTop!==n.alwaysOnTop&&o.push([`alwaysOnTop`,{prev:n.alwaysOnTop,next:r.alwaysOnTop},async()=>await i.setAlwaysOnTop(r.alwaysOnTop)]),s&&!c&&l(),o.length!==0){t.j(a,`syncCurrent, label: ${i.label()}, key: ${r.key}`);for(let[e,{prev:n,next:r}]of o)t.N(a,e,n,`->`,r);t.M(a);for(let[,,e]of o)await e()}},x=async(n,r,i,a)=>{let o=Object.keys(n.windows).filter(e=>!(e in r.windows)),s=Object.keys(r.windows).filter(e=>!(e in n.windows)),c=i.isMain();if(c&&o.length>0)for(let n of o)t.N(a,`syncMain`,`closing`,n),n===`main`&&await Promise.all(Object.keys(r.windows).filter(t=>t!==e.r).map(async e=>await C(i,e,a))),await C(i,n,a);if(c&&s.length>0)for(let e of s)await S(i,e,r.windows[e],a)},S=async(e,n,r,i)=>(t.N(i,`createWindow`,r),await e.create(n,_(r))),C=async(e,n,r)=>(t.N(r,`closeWindow`,n),await e.close(n)),w=`[drift] - unexpected undefined action`,T=`[drift] - unexpected undefined action type`,E=e=>{if(e.emitted??=!1,e.action==null)throw console.warn(w,e),Error(w);if(e.action.type==null||e.action.type.length===0)throw console.warn(T,e),Error(T)},D=new u,O=[t.p.type,t.f.type],k=(e,n=!1)=>r=>i=>a=>{let{action:o,emitted:s,emitter:c}=g(a),l=e.label();E({action:a,emitted:s,emitter:c});let u=t.l(o.type);if(u&&t.N(n,`[drift] - middleware`,{action:o,emitted:s,emitter:c,host:l}),c===e.label())return;let d=u&&!O.includes(o.type),f=null;u&&(f=r.getState().drift,o=t.r(o,f));let p=i(o),m=d?r.getState().drift:null,h=t.A(s,o.type);return D.runExclusive(async()=>{try{f!==null&&m!==null&&await y(f,m,e,n),h&&await e.emit({action:o})}catch(e){t.N(n,`[drift] - ERROR`,{error:e.message,action:o,emitted:s,emitter:c,host:l}),r.dispatch(t.g({key:l,message:e.message}))}}),p},A=(e,t,n=!1)=>r=>{let i=e==null?r():typeof e==`function`?e(r):e;return[k(t,n),...i]},j=async({runtime:e,preloadedState:n,middleware:i,debug:a=!1,enablePrerender:o=!0,defaultWindowProps:s,...c})=>{await e.configure();let l;l=(0,r.configureStore)({...c,preloadedState:await M(a,e,()=>l,s,n),middleware:A(i,e,a)}),await v(l.getState().drift,l.dispatch,e,a);let u=e.label();return l.dispatch(t.c({enablePrerender:o,defaultWindowProps:s,debug:a,label:u})),l.dispatch(t.D({stage:`created`})),e.onCloseRequested(()=>l?.dispatch(t.i({}))),l},M=async(t,n,r,i,a)=>n.isMain()?(await n.subscribe(({action:e,emitter:t,sendState:i})=>{let a=r();if(a==null)return;if(e!=null){E({action:e,emitter:t}),a.dispatch(h(e,t));return}let o=a.getState();i===!0&&n.emit({state:o},t)}),typeof a==`function`?P(i,t,await a()):P(i,t,a)):await new Promise((t,i)=>{(async()=>{try{await n.subscribe(({action:e,emitter:n,state:i})=>{let a=r();if(a==null)return i==null?void 0:t(i);e!=null&&(E({action:e,emitter:n}),a.dispatch(h(e,n)))}),await n.emit({sendState:!0},e.r)}catch(e){i(e)}})()}),N=j,P=(e,n,r)=>{if(r==null)return r;let i=r[t.t];return i.config.debug=n??i.config.debug,i.windows=Object.fromEntries(Object.entries(i.windows).filter(([,e])=>e.reserved).map(([t,n])=>(e?.visible!=null&&(n.visible=e.visible),n.focusCount=0,n.centerCount=0,n.processCount=0,[t,n]))),r},F=class{async emit(){}async subscribe(){}isMain(){return!0}label(){return e.r}onCloseRequested(){}async listLabels(){return[]}async getProps(){return{}}async create(){}async close(){}async focus(){}async setMinimized(){}async setMaximized(){}async setVisible(){}async setFullscreen(){}async center(){}async setPosition(){}async setSize(){}async setMinSize(){}async setMaxSize(){}async setResizable(){}async setSkipTaskbar(){}async setAlwaysOnTop(){}async setDecorations(){}async setTitle(){}async configure(){}},I=e.h({MAIN_WINDOW:()=>e.r,NoopRuntime:()=>F,SLICE_NAME:()=>t.t,ZERO_SLICE_STATE:()=>t.n,closeWindow:()=>t.i,completeProcess:()=>t.a,configureStore:()=>N,createWindow:()=>t.o,focusWindow:()=>t.s,reducer:()=>t.u,registerProcess:()=>t.d,reloadWindow:()=>t.f,selectSliceState:()=>n.t,selectWindow:()=>n.n,selectWindowAttribute:()=>n.r,selectWindowKey:()=>n.i,selectWindowLabel:()=>n.a,selectWindows:()=>n.o,setWindowAlwaysOnTop:()=>t.m,setWindowDecorations:()=>t.h,setWindowFullscreen:()=>t._,setWindowMaxSize:()=>t.v,setWindowMaximized:()=>t.y,setWindowMinSize:()=>t.b,setWindowMinimized:()=>t.x,setWindowPosition:()=>t.S,setWindowProps:()=>t.C,setWindowResizable:()=>t.w,setWindowSize:()=>t.T,setWindowSkipTaskbar:()=>t.E,setWindowStage:()=>t.D,setWindowTitle:()=>t.O,setWindowVisible:()=>t.k,windowPropsZ:()=>e.a});Object.defineProperty(exports,`Drift`,{enumerable:!0,get:function(){return I}}),exports.MAIN_WINDOW=e.r,exports.NoopRuntime=F,exports.SLICE_NAME=t.t,exports.ZERO_SLICE_STATE=t.n,exports.closeWindow=t.i,exports.completeProcess=t.a,exports.configureStore=N,exports.createWindow=t.o,exports.focusWindow=t.s,exports.reducer=t.u,exports.registerProcess=t.d,exports.reloadWindow=t.f,exports.selectSliceState=n.t,exports.selectWindow=n.n,exports.selectWindowAttribute=n.r,exports.selectWindowKey=n.i,exports.selectWindowLabel=n.a,exports.selectWindows=n.o,exports.setWindowAlwaysOnTop=t.m,exports.setWindowDecorations=t.h,exports.setWindowFullscreen=t._,exports.setWindowMaxSize=t.v,exports.setWindowMaximized=t.y,exports.setWindowMinSize=t.b,exports.setWindowMinimized=t.x,exports.setWindowPosition=t.S,exports.setWindowProps=t.C,exports.setWindowResizable=t.w,exports.setWindowSize=t.T,exports.setWindowSkipTaskbar=t.E,exports.setWindowStage=t.D,exports.setWindowTitle=t.O,exports.setWindowVisible=t.k,exports.windowPropsZ=e.a;
|
package/dist/drift.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as e,
|
|
2
|
-
import { A as s, C as c, D as l, E as u, M as d, N as f, O as p, S as m, T as h, _ as g, a as _, b as v, c as ee, d as y, f as b, g as te, h as ne, i as x, j as S, k as C, l as re, m as w, n as T, o as E, p as D, r as ie, s as O, t as k, u as A, v as j, w as M, x as N, y as P } from "./state-
|
|
3
|
-
import { a as F, i as I, n as L, o as R, r as z, t as B } from "./selectors-
|
|
1
|
+
import { a as e, h as t, n, o as r, p as i, r as a, u as o } from "./window-Cuphmj99.js";
|
|
2
|
+
import { A as s, C as c, D as l, E as u, M as d, N as f, O as p, S as m, T as h, _ as g, a as _, b as v, c as ee, d as y, f as b, g as te, h as ne, i as x, j as S, k as C, l as re, m as w, n as T, o as E, p as D, r as ie, s as O, t as k, u as A, v as j, w as M, x as N, y as P } from "./state-B0AhlJI7.js";
|
|
3
|
+
import { a as F, i as I, n as L, o as R, r as z, t as B } from "./selectors-BJDn7YrO.js";
|
|
4
4
|
import { configureStore as ae } from "@reduxjs/toolkit";
|
|
5
5
|
//#region ../node_modules/.pnpm/async-mutex@0.5.0/node_modules/async-mutex/index.mjs
|
|
6
6
|
var oe = /* @__PURE__ */ Error("request for lock canceled"), se = function(e, t, n, r) {
|
|
@@ -192,150 +192,150 @@ var ue = function(e, t, n, r) {
|
|
|
192
192
|
}, he = (e) => {
|
|
193
193
|
let { centerCount: t, processCount: n, focusCount: r, stage: i, key: a, prerenderLabel: o, reserved: s, minimized: c, ...l } = e;
|
|
194
194
|
return l;
|
|
195
|
-
}, ge = async (e, t,
|
|
196
|
-
let s = (await
|
|
195
|
+
}, ge = async (e, t, i, o) => {
|
|
196
|
+
let s = (await i.listLabels()).filter((e) => e !== a), c = Object.keys(e.windows).filter((e) => e !== a);
|
|
197
197
|
S(o, "syncInitial"), f(o, "existing windows in runtime", s.sort()), f(o, "non-main windows in state", c.sort()), d(o);
|
|
198
198
|
let l = r.unique([...s, ...c]);
|
|
199
|
-
for (let t of l) !s.includes(t) &&
|
|
200
|
-
let u =
|
|
199
|
+
for (let t of l) !s.includes(t) && i.isMain() ? (f(o, "state window not in runtime, creating", t), await K(i, t, e.windows[t], o)) : c.includes(t) || (f(o, "runtime window not in state, closing", t), await q(i, t, o));
|
|
200
|
+
let u = i.label(), p = e.windows[u];
|
|
201
201
|
p != null && (await G({
|
|
202
|
-
...
|
|
202
|
+
...n,
|
|
203
203
|
key: u
|
|
204
|
-
}, p,
|
|
205
|
-
label:
|
|
206
|
-
...await
|
|
204
|
+
}, p, i, o), t(D({
|
|
205
|
+
label: i.label(),
|
|
206
|
+
...await i.getProps()
|
|
207
207
|
})));
|
|
208
208
|
}, _e = async (e, t, n, r) => {
|
|
209
209
|
f(r, "sync", e, t), n.isMain() && await ve(e, t, n, r);
|
|
210
210
|
let i = e.windows[n.label()], a = t.windows[n.label()];
|
|
211
211
|
i == null || a == null || await G(i, a, n, r);
|
|
212
|
-
}, G = async (e, n, r
|
|
212
|
+
}, G = async (e, t, n, r) => {
|
|
213
213
|
let a = [];
|
|
214
|
-
|
|
214
|
+
t.title != null && t.title !== e.title && a.push([
|
|
215
215
|
"title",
|
|
216
216
|
{
|
|
217
217
|
prev: e.title,
|
|
218
|
-
next:
|
|
218
|
+
next: t.title
|
|
219
219
|
},
|
|
220
|
-
async () =>
|
|
220
|
+
async () => n.setTitle(t.title)
|
|
221
221
|
]);
|
|
222
|
-
let s =
|
|
222
|
+
let s = t.visible != null && t.visible !== e.visible, c = t.visible === !1, l = () => a.push([
|
|
223
223
|
"visible",
|
|
224
224
|
{
|
|
225
225
|
prev: e.visible,
|
|
226
|
-
next:
|
|
226
|
+
next: t.visible
|
|
227
227
|
},
|
|
228
228
|
async () => {
|
|
229
|
-
if (await
|
|
230
|
-
let e =
|
|
231
|
-
e ??= (await
|
|
229
|
+
if (await n.setVisible(t.visible), t.visible === !1) return;
|
|
230
|
+
let e = t.position;
|
|
231
|
+
e ??= (await n.getProps()).position, e != null && (await n.setPosition(o.translate(e, {
|
|
232
232
|
x: 1,
|
|
233
233
|
y: 1
|
|
234
|
-
})), await
|
|
234
|
+
})), await n.setPosition(e));
|
|
235
235
|
}
|
|
236
236
|
]);
|
|
237
|
-
if (s && c && l(),
|
|
237
|
+
if (s && c && l(), t.skipTaskbar != null && t.skipTaskbar !== e.skipTaskbar && a.push([
|
|
238
238
|
"skipTaskbar",
|
|
239
239
|
{
|
|
240
240
|
prev: e.skipTaskbar,
|
|
241
|
-
next:
|
|
241
|
+
next: t.skipTaskbar
|
|
242
242
|
},
|
|
243
|
-
async () => await
|
|
244
|
-
]),
|
|
243
|
+
async () => await n.setSkipTaskbar(t.skipTaskbar)
|
|
244
|
+
]), t.maximized != null && t.maximized !== e.maximized && a.push([
|
|
245
245
|
"maximized",
|
|
246
246
|
{
|
|
247
247
|
prev: e.maximized,
|
|
248
|
-
next:
|
|
248
|
+
next: t.maximized
|
|
249
249
|
},
|
|
250
|
-
async () => await
|
|
251
|
-
]),
|
|
250
|
+
async () => await n.setMaximized(t.maximized)
|
|
251
|
+
]), t.fullscreen != null && t.fullscreen !== e.fullscreen && a.push([
|
|
252
252
|
"fullscreen",
|
|
253
253
|
{
|
|
254
254
|
prev: e.fullscreen,
|
|
255
|
-
next:
|
|
255
|
+
next: t.fullscreen
|
|
256
256
|
},
|
|
257
|
-
async () => await
|
|
258
|
-
]),
|
|
257
|
+
async () => await n.setFullscreen(t.fullscreen)
|
|
258
|
+
]), t.centerCount !== e.centerCount && a.push([
|
|
259
259
|
"center",
|
|
260
260
|
{
|
|
261
261
|
prev: e.centerCount,
|
|
262
|
-
next:
|
|
262
|
+
next: t.centerCount
|
|
263
263
|
},
|
|
264
|
-
async () =>
|
|
265
|
-
]),
|
|
264
|
+
async () => n.center()
|
|
265
|
+
]), t.minimized != null && t.minimized !== e.minimized && a.push([
|
|
266
266
|
"minimized",
|
|
267
267
|
{
|
|
268
268
|
prev: e.minimized,
|
|
269
|
-
next:
|
|
269
|
+
next: t.minimized
|
|
270
270
|
},
|
|
271
|
-
async () => await
|
|
272
|
-
]),
|
|
271
|
+
async () => await n.setMinimized(t.minimized)
|
|
272
|
+
]), t.resizable != null && t.resizable !== e.resizable && a.push([
|
|
273
273
|
"resizable",
|
|
274
274
|
{
|
|
275
275
|
prev: e.resizable,
|
|
276
|
-
next:
|
|
276
|
+
next: t.resizable
|
|
277
277
|
},
|
|
278
|
-
async () => await
|
|
279
|
-
]),
|
|
278
|
+
async () => await n.setResizable(t.resizable)
|
|
279
|
+
]), t.minSize != null && !i.equals(t.minSize, e.minSize) && a.push([
|
|
280
280
|
"minSize",
|
|
281
281
|
{
|
|
282
282
|
prev: e.minSize,
|
|
283
|
-
next:
|
|
283
|
+
next: t.minSize
|
|
284
284
|
},
|
|
285
|
-
async () => await
|
|
286
|
-
]),
|
|
285
|
+
async () => await n.setMinSize(t.minSize)
|
|
286
|
+
]), t.maxSize != null && !i.equals(t.maxSize, e.maxSize) && a.push([
|
|
287
287
|
"maxSize",
|
|
288
288
|
{
|
|
289
289
|
prev: e.maxSize,
|
|
290
|
-
next:
|
|
290
|
+
next: t.maxSize
|
|
291
291
|
},
|
|
292
|
-
async () => await
|
|
293
|
-
]),
|
|
292
|
+
async () => await n.setMaxSize(t.maxSize)
|
|
293
|
+
]), t.size != null && !i.equals(t.size, e.size) && a.push([
|
|
294
294
|
"size",
|
|
295
295
|
{
|
|
296
296
|
prev: e.size,
|
|
297
|
-
next:
|
|
297
|
+
next: t.size
|
|
298
298
|
},
|
|
299
|
-
async () => await
|
|
300
|
-
]),
|
|
299
|
+
async () => await n.setSize(t.size)
|
|
300
|
+
]), t.position != null && !i.equals(t.position, e.position) && a.push([
|
|
301
301
|
"position",
|
|
302
302
|
{
|
|
303
303
|
prev: e.position,
|
|
304
|
-
next:
|
|
304
|
+
next: t.position
|
|
305
305
|
},
|
|
306
|
-
async () => await
|
|
307
|
-
]),
|
|
306
|
+
async () => await n.setPosition(t.position)
|
|
307
|
+
]), t.focusCount !== e.focusCount && a.push([
|
|
308
308
|
"setVisible",
|
|
309
309
|
{
|
|
310
310
|
prev: e.visible,
|
|
311
|
-
next:
|
|
311
|
+
next: t.visible
|
|
312
312
|
},
|
|
313
|
-
async () => await
|
|
313
|
+
async () => await n.setVisible(!0)
|
|
314
314
|
], [
|
|
315
315
|
"focus",
|
|
316
316
|
{
|
|
317
317
|
prev: e.focusCount,
|
|
318
|
-
next:
|
|
318
|
+
next: t.focusCount
|
|
319
319
|
},
|
|
320
|
-
async () => await
|
|
321
|
-
]),
|
|
320
|
+
async () => await n.focus()
|
|
321
|
+
]), t.decorations != null && t.decorations !== e.decorations && a.push([
|
|
322
322
|
"decorations",
|
|
323
323
|
{
|
|
324
324
|
prev: e.decorations,
|
|
325
|
-
next:
|
|
325
|
+
next: t.decorations
|
|
326
326
|
},
|
|
327
|
-
async () => await
|
|
328
|
-
]),
|
|
327
|
+
async () => await n.setDecorations(t.decorations)
|
|
328
|
+
]), t.alwaysOnTop != null && t.alwaysOnTop !== e.alwaysOnTop && a.push([
|
|
329
329
|
"alwaysOnTop",
|
|
330
330
|
{
|
|
331
331
|
prev: e.alwaysOnTop,
|
|
332
|
-
next:
|
|
332
|
+
next: t.alwaysOnTop
|
|
333
333
|
},
|
|
334
|
-
async () => await
|
|
334
|
+
async () => await n.setAlwaysOnTop(t.alwaysOnTop)
|
|
335
335
|
]), s && !c && l(), a.length !== 0) {
|
|
336
|
-
S(
|
|
337
|
-
for (let [e, { prev: t, next: n }] of a) f(
|
|
338
|
-
d(
|
|
336
|
+
S(r, `syncCurrent, label: ${n.label()}, key: ${t.key}`);
|
|
337
|
+
for (let [e, { prev: t, next: n }] of a) f(r, e, t, "->", n);
|
|
338
|
+
d(r);
|
|
339
339
|
for (let [, , e] of a) await e();
|
|
340
340
|
}
|
|
341
341
|
}, ve = async (e, t, n, r) => {
|
|
@@ -461,7 +461,7 @@ var ue = function(e, t, n, r) {
|
|
|
461
461
|
async setDecorations() {}
|
|
462
462
|
async setTitle() {}
|
|
463
463
|
async configure() {}
|
|
464
|
-
}, Te = /* @__PURE__ */
|
|
464
|
+
}, Te = /* @__PURE__ */ t({
|
|
465
465
|
MAIN_WINDOW: () => a,
|
|
466
466
|
NoopRuntime: () => $,
|
|
467
467
|
SLICE_NAME: () => k,
|
package/dist/react.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./selectors-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./selectors-BXRepCOf.cjs`);let t=require(`react`),n=require(`react-redux`);var r=({store:e,emptyContent:r=null,children:i})=>{let[a,o]=(0,t.useState)(null),[s,c]=(0,t.useState)(null);if(s!=null)throw c(null),s;return a==null?(e instanceof Promise?e.then(o).catch(c):o(e),r):(0,t.createElement)(n.Provider,{store:a},i)},i=r=>(0,n.useSelector)((0,t.useCallback)(t=>e.n(t,r),[r])),a=()=>(0,n.useSelector)(e.o),o=r=>(0,n.useSelector)((0,t.useCallback)(t=>e.i(t,r),[r])),s=(r,i)=>(0,n.useSelector)((0,t.useCallback)(t=>e.r(t,r,i),[r,i]));exports.Provider=r,exports.useSelectWindow=i,exports.useSelectWindowAttribute=s,exports.useSelectWindowKey=o,exports.useSelectWindows=a;
|
package/dist/react.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as e, n as t, o as n, r } from "./selectors-
|
|
1
|
+
import { i as e, n as t, o as n, r } from "./selectors-BJDn7YrO.js";
|
|
2
2
|
import { createElement as i, useCallback as a, useState as o } from "react";
|
|
3
3
|
import { Provider as s, useSelector as c } from "react-redux";
|
|
4
4
|
//#region src/react/Provider.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as e } from "./window-
|
|
1
|
+
import { r as e } from "./window-Cuphmj99.js";
|
|
2
2
|
import { createSelector as t } from "@reduxjs/toolkit";
|
|
3
3
|
//#region src/selectors.ts
|
|
4
4
|
var n = (e) => e.drift, r = t([(e) => n(e).windows], (e) => Object.values(e)), i = (e, t) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./window-
|
|
1
|
+
const e=require(`./window-CXsPQtRu.cjs`);let t=require(`@reduxjs/toolkit`);var n=e=>e.drift,r=(0,t.createSelector)([e=>n(e).windows],e=>Object.values(e)),i=(e,t)=>{let r=n(e);if(t==null)return r.windows[r.label]??null;let i=r.windows[t];if(i!=null)return i;let a=r.keyLabels[t];return r.windows[a]??null},a=(t,r)=>{let i=n(t);if(r==null)return i.labelKeys[i.label]??null;let a=i.labelKeys[r]??null;return a==null&&r==`main`?e.r:a},o=(e,t,n)=>i(e,t)?.[n]??null,s=(e,t)=>n(e).keyLabels[t]??null;Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as e, d as t, f as n, n as r, r as i, s as a, t as o, u as s } from "./window-Cuphmj99.js";
|
|
2
2
|
import { createSlice as c } from "@reduxjs/toolkit";
|
|
3
3
|
//#region src/debug.ts
|
|
4
4
|
var l = (e = !1, ...t) => {
|
|
@@ -7,8 +7,8 @@ var l = (e = !1, ...t) => {
|
|
|
7
7
|
e && console.group(...t);
|
|
8
8
|
}, d = (e) => {
|
|
9
9
|
e && console.groupEnd();
|
|
10
|
-
}, f =
|
|
11
|
-
label:
|
|
10
|
+
}, f = a.milliseconds(50), p = () => setTimeout(() => window.location.reload(), f.milliseconds), m = {
|
|
11
|
+
label: i,
|
|
12
12
|
config: {
|
|
13
13
|
enablePrerender: !0,
|
|
14
14
|
debug: !1,
|
|
@@ -16,19 +16,19 @@ var l = (e = !1, ...t) => {
|
|
|
16
16
|
},
|
|
17
17
|
windows: { main: {
|
|
18
18
|
...r,
|
|
19
|
-
key:
|
|
19
|
+
key: i,
|
|
20
20
|
reserved: !0
|
|
21
21
|
} },
|
|
22
|
-
labelKeys: { main:
|
|
23
|
-
keyLabels: { main:
|
|
24
|
-
}, h = (
|
|
25
|
-
if (
|
|
26
|
-
if ("label" in
|
|
27
|
-
let r = n.label, i =
|
|
28
|
-
return i.key != null && (r = i.key in n.windows ? i.key : n.keyLabels[i.key]),
|
|
29
|
-
...
|
|
22
|
+
labelKeys: { main: i },
|
|
23
|
+
keyLabels: { main: i }
|
|
24
|
+
}, h = (e, n) => {
|
|
25
|
+
if (e.type === K.type) return n.label === "main" ? (e.payload.label = t.create(), e.payload.prerenderLabel = t.create(), e) : e;
|
|
26
|
+
if ("label" in e.payload) return e;
|
|
27
|
+
let r = n.label, i = e.payload;
|
|
28
|
+
return i.key != null && (r = i.key in n.windows ? i.key : n.keyLabels[i.key]), e.payload = {
|
|
29
|
+
...e.payload,
|
|
30
30
|
label: r
|
|
31
|
-
},
|
|
31
|
+
}, e;
|
|
32
32
|
}, g = (e) => (t, n) => {
|
|
33
33
|
if (!("label" in n.payload)) throw Error("Missing label");
|
|
34
34
|
e(t, n);
|
|
@@ -51,35 +51,35 @@ var l = (e = !1, ...t) => {
|
|
|
51
51
|
...i,
|
|
52
52
|
[e]: i[e] + (t ? -1 : 1)
|
|
53
53
|
});
|
|
54
|
-
}, y = (e) => Object.values(e.windows).some((e) => e.key === "prerender" && !e.reserved), b = "drift", ee = (e,
|
|
55
|
-
if (
|
|
56
|
-
let { key:
|
|
57
|
-
if (a == null ||
|
|
58
|
-
u(
|
|
59
|
-
let c =
|
|
60
|
-
if (
|
|
61
|
-
l(
|
|
62
|
-
let
|
|
63
|
-
|
|
54
|
+
}, y = (e) => Object.values(e.windows).some((e) => e.key === "prerender" && !e.reserved), b = "drift", ee = (e, t, r) => e.position != null && e.size != null && t == null ? n.topLeft(n.positionInCenter(n.construct(s.ZERO, r ?? s.ZERO), n.construct(e.position, e.size))) : t, x = (t, { payload: n }) => {
|
|
55
|
+
if (n.key === "prerender") return;
|
|
56
|
+
let { key: i, label: a, prerenderLabel: s } = n;
|
|
57
|
+
if (a == null || s == null) throw Error("[drift] - bug - missing label and prerender label");
|
|
58
|
+
u(t.config.debug, "reducer create window");
|
|
59
|
+
let c = t.windows.main;
|
|
60
|
+
if (n.position = ee(c, n.position, n.size), i in t.keyLabels) {
|
|
61
|
+
l(t.config.debug, "window already exists, un-minimize and focus it");
|
|
62
|
+
let e = t.keyLabels[n.key];
|
|
63
|
+
t.windows[e].visible = !0, t.windows[e].focusCount += 1, t.windows[e].minimized = !1, t.windows[e].position = n.position, d(t.config.debug);
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
|
-
let [f, p] = Object.entries(
|
|
67
|
-
f == null ? (l(
|
|
68
|
-
...
|
|
66
|
+
let [f, p] = Object.entries(t.windows).find(([, e]) => !e.reserved) ?? [null, null];
|
|
67
|
+
f == null ? (l(t.config.debug, "creating new window"), t.windows[a] = {
|
|
68
|
+
...t.config.defaultWindowProps,
|
|
69
69
|
...r,
|
|
70
|
-
...
|
|
70
|
+
...n,
|
|
71
71
|
reserved: !0
|
|
72
|
-
},
|
|
72
|
+
}, t.labelKeys[a] = i, t.keyLabels[i] = a) : (l(t.config.debug, "using available pre-rendered window"), t.windows[f] = {
|
|
73
73
|
...p,
|
|
74
74
|
visible: !0,
|
|
75
75
|
reserved: !0,
|
|
76
76
|
focusCount: 1,
|
|
77
77
|
focus: !0,
|
|
78
|
-
...
|
|
79
|
-
},
|
|
80
|
-
...
|
|
81
|
-
...
|
|
82
|
-
})), d(
|
|
78
|
+
...n
|
|
79
|
+
}, t.labelKeys[f] = n.key, t.keyLabels[n.key] = f), t.config.enablePrerender && !y(t) && (l(t.config.debug, "creating pre-render window"), t.windows[s] = e.copy({
|
|
80
|
+
...t.config.defaultWindowProps,
|
|
81
|
+
...o
|
|
82
|
+
})), d(t.config.debug);
|
|
83
83
|
}, te = g((e, t) => {
|
|
84
84
|
let n = e.windows[t.payload.label];
|
|
85
85
|
n != null && (n.stage = t.payload.stage);
|
|
@@ -109,25 +109,25 @@ var l = (e = !1, ...t) => {
|
|
|
109
109
|
e.windows[t.payload.label].maxSize = t.payload.size;
|
|
110
110
|
}), L = _("resizable"), R = _("skipTaskbar"), z = _("alwaysOnTop"), B = g((e, t) => {
|
|
111
111
|
e.windows[t.payload.label].title = t.payload.title;
|
|
112
|
-
}), V = _("decorations"), H = (
|
|
113
|
-
let
|
|
114
|
-
|
|
115
|
-
...
|
|
116
|
-
...
|
|
112
|
+
}), V = _("decorations"), H = (t, n) => {
|
|
113
|
+
let r = t.windows[n.payload.label];
|
|
114
|
+
e.partialEqual(r, n.payload) || (t.windows[n.payload.label] = {
|
|
115
|
+
...r,
|
|
116
|
+
...n.payload
|
|
117
117
|
});
|
|
118
118
|
}, U = c({
|
|
119
119
|
name: b,
|
|
120
120
|
initialState: m,
|
|
121
121
|
reducers: {
|
|
122
|
-
internalSetInitial: (
|
|
123
|
-
if (
|
|
124
|
-
...
|
|
122
|
+
internalSetInitial: (e, n) => {
|
|
123
|
+
if (e.config = {
|
|
124
|
+
...e.config,
|
|
125
125
|
...n.payload
|
|
126
|
-
},
|
|
127
|
-
let n =
|
|
128
|
-
|
|
129
|
-
...
|
|
130
|
-
...
|
|
126
|
+
}, e.label = n.payload.label, e.label === "main" && e.config.enablePrerender) {
|
|
127
|
+
let n = t.create();
|
|
128
|
+
e.windows[n] = {
|
|
129
|
+
...e.config.defaultWindowProps,
|
|
130
|
+
...o
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
133
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./window-
|
|
1
|
+
const e=require(`./window-CXsPQtRu.cjs`);let t=require(`@reduxjs/toolkit`);var n=(e=!1,...t)=>{e&&console.log(...t)},r=(e=!1,...t)=>{e&&console.group(...t)},i=e=>{e&&console.groupEnd()},a=e.s.milliseconds(50),o=()=>setTimeout(()=>window.location.reload(),a.milliseconds),s={label:e.r,config:{enablePrerender:!0,debug:!1,defaultWindowProps:{}},windows:{main:{...e.n,key:e.r,reserved:!0}},labelKeys:{main:e.r},keyLabels:{main:e.r}},c=(t,n)=>{if(t.type===z.type)return n.label===`main`?(t.payload.label=e.d.create(),t.payload.prerenderLabel=e.d.create(),t):t;if(`label`in t.payload)return t;let r=n.label,i=t.payload;return i.key!=null&&(r=i.key in n.windows?i.key:n.keyLabels[i.key]),t.payload={...t.payload,label:r},t},l=e=>(t,n)=>{if(!(`label`in n.payload))throw Error(`Missing label`);e(t,n)},u=(e,t=!1)=>l((n,r)=>{let i=t,a=n.windows[r.payload.label];if(a!=null){if(r.payload.value!=null)i=r.payload.value;else{let t=a[e];t!=null&&(i=!t)}n.windows[r.payload.label]={...a,[e]:i}}}),d=(e,t=!1)=>(n,r)=>{let i=n.windows[r.payload.label];i!=null&&(n.windows[r.payload.label]={...i,[e]:i[e]+(t?-1:1)})},f=e=>Object.values(e.windows).some(e=>e.key===`prerender`&&!e.reserved),p=`drift`,m=(t,n,r)=>t.position!=null&&t.size!=null&&n==null?e.f.topLeft(e.f.positionInCenter(e.f.construct(e.u.ZERO,r??e.u.ZERO),e.f.construct(t.position,t.size))):n,h=(t,{payload:a})=>{if(a.key===`prerender`)return;let{key:o,label:s,prerenderLabel:c}=a;if(s==null||c==null)throw Error(`[drift] - bug - missing label and prerender label`);r(t.config.debug,`reducer create window`);let l=t.windows.main;if(a.position=m(l,a.position,a.size),o in t.keyLabels){n(t.config.debug,`window already exists, un-minimize and focus it`);let e=t.keyLabels[a.key];t.windows[e].visible=!0,t.windows[e].focusCount+=1,t.windows[e].minimized=!1,t.windows[e].position=a.position,i(t.config.debug);return}let[u,d]=Object.entries(t.windows).find(([,e])=>!e.reserved)??[null,null];u==null?(n(t.config.debug,`creating new window`),t.windows[s]={...t.config.defaultWindowProps,...e.n,...a,reserved:!0},t.labelKeys[s]=o,t.keyLabels[o]=s):(n(t.config.debug,`using available pre-rendered window`),t.windows[u]={...d,visible:!0,reserved:!0,focusCount:1,focus:!0,...a},t.labelKeys[u]=a.key,t.keyLabels[a.key]=u),t.config.enablePrerender&&!f(t)&&(n(t.config.debug,`creating pre-render window`),t.windows[c]=e.c.copy({...t.config.defaultWindowProps,...e.t})),i(t.config.debug)},ee=l((e,t)=>{let n=e.windows[t.payload.label];n!=null&&(n.stage=t.payload.stage)}),te=l((e,{payload:{label:t}})=>{let n=e.windows[t];n==null||n.processCount>0||(n.stage=`closing`,delete e.windows[t],delete e.labelKeys[t],delete e.keyLabels[n.key])}),g=l((e,t)=>{let n=e.windows[t.payload.label];n==null||n.processCount>0||(n.stage=`reloading`,o())}),_=l(d(`processCount`)),v=l((e,t)=>{d(`processCount`,!0)(e,t);let n=e.windows[t.payload.label];n!=null&&n.processCount===0&&(n.stage===`reloading`?o():(e.windows[t.payload.label].visible=!1,delete e.windows[t.payload.label],delete e.labelKeys[t.payload.label],delete e.keyLabels[n.key]))}),y=(e,t)=>{let n=e.windows[t.payload.key];n!=null&&(n.error=t.payload.message)},b=l((e,t)=>{let n=e.windows[t.payload.label];n!=null&&(n.visible!==!0&&(n.visible=!0),d(`focusCount`)(e,t))}),x=u(`minimized`),S=u(`maximized`),C=u(`visible`,!0),w=u(`fullscreen`,!0),T=l(d(`centerCount`)),E=l((e,t)=>{e.windows[t.payload.label].position=t.payload.position}),D=l((e,t)=>{e.windows[t.payload.label].size=t.payload.size}),O=l((e,t)=>{e.windows[t.payload.label].minSize=t.payload.size}),k=l((e,t)=>{e.windows[t.payload.label].maxSize=t.payload.size}),A=u(`resizable`),j=u(`skipTaskbar`),M=u(`alwaysOnTop`),N=l((e,t)=>{e.windows[t.payload.label].title=t.payload.title}),P=u(`decorations`),F=(t,n)=>{let r=t.windows[n.payload.label];e.c.partialEqual(r,n.payload)||(t.windows[n.payload.label]={...r,...n.payload})},I=(0,t.createSlice)({name:p,initialState:s,reducers:{internalSetInitial:(t,n)=>{if(t.config={...t.config,...n.payload},t.label=n.payload.label,t.label===`main`&&t.config.enablePrerender){let n=e.d.create();t.windows[n]={...t.config.defaultWindowProps,...e.t}}},createWindow:h,setWindowStage:ee,closeWindow:te,registerProcess:_,completeProcess:v,setWindowError:y,focusWindow:b,reloadWindow:g,setWindowMinimized:x,setWindowMaximized:S,setWindowVisible:C,setWindowFullscreen:w,centerWindow:T,setWindowPosition:E,setWindowSize:D,setWindowMinSize:O,setWindowMaxSize:k,setWindowResizable:A,setWindowSkipTaskbar:j,setWindowAlwaysOnTop:M,setWindowTitle:N,setWindowDecorations:P,runtimeSetWindowProps:F,setWindowProps:F}}),{actions:{runtimeSetWindowProps:L,setWindowProps:R,createWindow:z,internalSetInitial:B,setWindowStage:V,closeWindow:H,registerProcess:U,completeProcess:W,setWindowError:G,focusWindow:K,reloadWindow:q,setWindowMinimized:J,setWindowMaximized:Y,setWindowVisible:X,setWindowFullscreen:Z,centerWindow:ne,setWindowPosition:Q,setWindowSize:re,setWindowMinSize:ie,setWindowMaxSize:ae,setWindowResizable:oe,setWindowSkipTaskbar:$,setWindowAlwaysOnTop:se,setWindowTitle:ce,setWindowDecorations:le}}=I,ue=I.reducer,de=e=>e.startsWith(p),fe=[B.type],pe=(e,t)=>!e&&!fe.includes(t);Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return Y}});
|