@akinon/app-client 0.3.0 → 0.3.1

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.
@@ -5,6 +5,10 @@ interface AppClientContextState {
5
5
  isLoading: boolean;
6
6
  invokeAction: <T = any>(actionKey: string, ...args: any[]) => Promise<T>;
7
7
  navigate: (path: string) => void;
8
+ showModalDialog?: (title: string, content: string) => void;
9
+ showConfirmationDialog?: (title: string, content: string) => boolean;
10
+ showToast?: (content: string, type: 'success' | 'warning' | 'error' | 'loading' | 'destroy') => void;
11
+ showErrorMessage?: (title: string, content: string) => void;
8
12
  }
9
13
  interface AppClientProviderProps {
10
14
  children: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"app-client-provider.d.ts","sourceRoot":"","sources":["../src/app-client-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,UAAU,qBAAqB;IAC7B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAeD,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,eAAe,CAAC;CACzB;AAKD,QAAA,MAAM,YAAY,6BAAqC,CAAC;AAExD,QAAA,MAAM,iBAAiB,yBAA0B,sBAAsB,sBAyDtE,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"app-client-provider.d.ts","sourceRoot":"","sources":["../src/app-client-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,UAAU,qBAAqB;IAC7B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACrE,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,KAC1D,IAAI,CAAC;IACV,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAkDD,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,eAAe,CAAC;CACzB;AAKD,QAAA,MAAM,YAAY,6BAAqC,CAAC;AAExD,QAAA,MAAM,iBAAiB,yBAA0B,sBAAsB,sBA6DtE,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,CAAC"}
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("react/jsx-runtime"),M=require("react");var p=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function H(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var T={},h={},S;function K(){if(S)return h;S=1,Object.defineProperty(h,"__esModule",{value:!0}),h.detach=h.attach=void 0;var r=d(),o=!1;function n(){o||typeof window>"u"||(o=!0,window.addEventListener("message",r.onMessage,!1))}h.attach=n;function t(){o=!1,window.removeEventListener("message",r.onMessage,!1)}return h.detach=t,h}var v={},q;function Q(){if(q)return v;q=1,Object.defineProperty(v,"__esModule",{value:!0}),v.broadcastToChildWindows=void 0;var r=d();function o(n,t,e){for(var i=r.childWindows.length-1;i>=0;i--){var s=r.childWindows[i];s.closed?r.childWindows.splice(i,1):e!==s&&(0,r.broadcast)(n,{origin:t,frame:s.top})}}return v.broadcastToChildWindows=o,v}var b={},C;function X(){if(C)return b;C=1,Object.defineProperty(b,"__esModule",{value:!0}),b.broadcast=void 0;var r=d();function o(n,t){var e=0,i,s=t.origin,a=t.frame;try{for(a.postMessage(n,s),(0,r.hasOpener)(a)&&a.opener.top!==window.top&&o(n,{origin:s,frame:a.opener.top});i=a.frames[e];)o(n,{origin:s,frame:i}),e++}catch{}}return b.broadcast=o,b}var l={};Object.defineProperty(l,"__esModule",{value:!0});l.subscribers=l.childWindows=l.prefix=void 0;l.prefix="/*framebus*/";l.childWindows=[];l.subscribers={};var g={},R;function Y(){if(R)return g;R=1,Object.defineProperty(g,"__esModule",{value:!0}),g.dispatch=void 0;var r=d();function o(n,t,e,i,s){if(r.subscribers[n]&&r.subscribers[n][t]){var a=[];e&&a.push(e),i&&a.push(i);for(var u=0;u<r.subscribers[n][t].length;u++)r.subscribers[n][t][u].apply(s,a)}}return g.dispatch=o,g}var O={};Object.defineProperty(O,"__esModule",{value:!0});O.hasOpener=void 0;function Z(r){return!(r.top!==r||r.opener==null||r.opener===r||r.opener.closed===!0)}O.hasOpener=Z;var F={};Object.defineProperty(F,"__esModule",{value:!0});F.isntString=void 0;function N(r){return typeof r!="string"}F.isntString=N;var y={},E;function ee(){if(E)return y;E=1,Object.defineProperty(y,"__esModule",{value:!0}),y.onMessage=void 0;var r=d();function o(n){if(!(0,r.isntString)(n.data)){var t=(0,r.unpackPayload)(n);if(t){var e=t.eventData,i=t.reply;(0,r.dispatch)("*",t.event,e,i,n),(0,r.dispatch)(n.origin,t.event,e,i,n),(0,r.broadcastToChildWindows)(n.data,t.origin,n.source)}}}return y.onMessage=o,y}var m={},k;function re(){if(k)return m;k=1,Object.defineProperty(m,"__esModule",{value:!0}),m.packagePayload=void 0;var r=d();function o(n,t,e,i){var s,a={event:n,origin:t};typeof i=="function"&&(a.reply=(0,r.subscribeReplier)(i,t)),a.eventData=e;try{s=r.prefix+JSON.stringify(a)}catch(u){throw new Error("Could not stringify event: ".concat(u.message))}return s}return m.packagePayload=o,m}var x={};Object.defineProperty(x,"__esModule",{value:!0});x.sendMessage=void 0;function te(r,o,n){try{r.postMessage(o,n)}catch{}}x.sendMessage=te;var _={},w={},B;function V(){if(B)return w;B=1,Object.defineProperty(w,"__esModule",{value:!0}),w.Framebus=void 0;var r=d(),o=typeof window<"u"&&window.Promise,n=function(){function t(e){e===void 0&&(e={}),this.origin=e.origin||"*",this.channel=e.channel||"",this.verifyDomain=e.verifyDomain,this.targetFrames=e.targetFrames||[],this.limitBroadcastToFramesArray=!!e.targetFrames,this.isDestroyed=!1,this.listeners=[],this.hasAdditionalChecksForOnListeners=!!(this.verifyDomain||this.limitBroadcastToFramesArray)}return t.setPromise=function(e){t.Promise=e},t.target=function(e){return new t(e)},t.prototype.addTargetFrame=function(e){this.limitBroadcastToFramesArray&&this.targetFrames.push(e)},t.prototype.include=function(e){return e==null||e.Window==null||e.constructor!==e.Window?!1:(r.childWindows.push(e),!0)},t.prototype.target=function(e){return t.target(e)},t.prototype.emit=function(e,i,s){if(this.isDestroyed)return!1;var a=this.origin;if(e=this.namespaceEvent(e),(0,r.isntString)(e)||(0,r.isntString)(a))return!1;typeof i=="function"&&(s=i,i=void 0);var u=(0,r.packagePayload)(e,a,i,s);return u?(this.limitBroadcastToFramesArray?this.targetFramesAsWindows().forEach(function(c){(0,r.sendMessage)(c,u,a)}):(0,r.broadcast)(u,{origin:a,frame:window.top||window.self}),!0):!1},t.prototype.emitAsPromise=function(e,i){var s=this;return new t.Promise(function(a,u){var c=s.emit(e,i,function(f){a(f)});c||u(new Error('Listener not added for "'.concat(e,'"')))})},t.prototype.on=function(e,i){if(this.isDestroyed)return!1;var s=this,a=this.origin,u=i;return e=this.namespaceEvent(e),(0,r.subscriptionArgsInvalid)(e,u,a)?!1:(this.hasAdditionalChecksForOnListeners&&(u=function(){for(var c=[],f=0;f<arguments.length;f++)c[f]=arguments[f];s.passesVerifyDomainCheck(this&&this.origin)&&s.hasMatchingTargetFrame(this&&this.source)&&i.apply(void 0,c)}),this.listeners.push({eventName:e,handler:u,originalHandler:i}),r.subscribers[a]=r.subscribers[a]||{},r.subscribers[a][e]=r.subscribers[a][e]||[],r.subscribers[a][e].push(u),!0)},t.prototype.off=function(e,i){var s=i;if(this.isDestroyed)return!1;if(this.verifyDomain)for(var a=0;a<this.listeners.length;a++){var u=this.listeners[a];u.originalHandler===i&&(s=u.handler)}e=this.namespaceEvent(e);var c=this.origin;if((0,r.subscriptionArgsInvalid)(e,s,c))return!1;var f=r.subscribers[c]&&r.subscribers[c][e];if(!f)return!1;for(var a=0;a<f.length;a++)if(f[a]===s)return f.splice(a,1),!0;return!1},t.prototype.teardown=function(){if(!this.isDestroyed){this.isDestroyed=!0;for(var e=0;e<this.listeners.length;e++){var i=this.listeners[e];this.off(i.eventName,i.handler)}this.listeners.length=0}},t.prototype.passesVerifyDomainCheck=function(e){return this.verifyDomain?this.checkOrigin(e):!0},t.prototype.targetFramesAsWindows=function(){return this.limitBroadcastToFramesArray?this.targetFrames.map(function(e){return e instanceof HTMLIFrameElement?e.contentWindow:e}).filter(function(e){return e}):[]},t.prototype.hasMatchingTargetFrame=function(e){if(!this.limitBroadcastToFramesArray)return!0;var i=this.targetFramesAsWindows().find(function(s){return s===e});return!!i},t.prototype.checkOrigin=function(e){var i,s=document.createElement("a");s.href=location.href,s.protocol==="https:"?i=s.host.replace(/:443$/,""):s.protocol==="http:"?i=s.host.replace(/:80$/,""):i=s.host;var a=s.protocol+"//"+i;return a===e?!0:this.verifyDomain?this.verifyDomain(e):!0},t.prototype.namespaceEvent=function(e){return this.channel?"".concat(this.channel,":").concat(e):e},t.Promise=o,t}();return w.Framebus=n,w}function ie(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){var o=Math.random()*16|0,n=r==="x"?o:o&3|8;return n.toString(16)})}var ne=ie,I;function ae(){if(I)return _;I=1;var r=p&&p.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(_,"__esModule",{value:!0}),_.subscribeReplier=void 0;var o=V(),n=r(ne);function t(e,i){var s=(0,n.default)();function a(u,c){e(u,c),o.Framebus.target({origin:i}).off(s,a)}return o.Framebus.target({origin:i}).on(s,a),s}return _.subscribeReplier=t,_}var P={},L;function se(){if(L)return P;L=1,Object.defineProperty(P,"__esModule",{value:!0}),P.subscriptionArgsInvalid=void 0;var r=d();function o(n,t,e){return(0,r.isntString)(n)||typeof t!="function"?!0:(0,r.isntString)(e)}return P.subscriptionArgsInvalid=o,P}var U={};Object.defineProperty(U,"__esModule",{value:!0});var A={},W;function oe(){if(W)return A;W=1,Object.defineProperty(A,"__esModule",{value:!0}),A.unpackPayload=void 0;var r=d();function o(n){var t;if(n.data.slice(0,r.prefix.length)!==r.prefix)return!1;try{t=JSON.parse(n.data.slice(r.prefix.length))}catch{return!1}if(t.reply){var e=n.origin,i=n.source,s=t.reply;t.reply=function(u){if(i){var c=(0,r.packagePayload)(s,e,u);c&&i.postMessage(c,e)}}}return t}return A.unpackPayload=o,A}var $;function d(){return $||($=1,function(r){var o=p&&p.__createBinding||(Object.create?function(t,e,i,s){s===void 0&&(s=i);var a=Object.getOwnPropertyDescriptor(e,i);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[i]}}),Object.defineProperty(t,s,a)}:function(t,e,i,s){s===void 0&&(s=i),t[s]=e[i]}),n=p&&p.__exportStar||function(t,e){for(var i in t)i!=="default"&&!Object.prototype.hasOwnProperty.call(e,i)&&o(e,t,i)};Object.defineProperty(r,"__esModule",{value:!0}),n(K(),r),n(Q(),r),n(X(),r),n(l,r),n(Y(),r),n(O,r),n(F,r),n(ee(),r),n(re(),r),n(x,r),n(ae(),r),n(se(),r),n(U,r),n(oe(),r)}(T)),T}var ue=d(),ce=V();(0,ue.attach)();var fe=ce.Framebus;const j=H(fe),de={isLoading:!0,invokeAction:async()=>Promise.reject("Action functionality not initialized."),navigate:()=>{}},le=r=>{new j().emit("NAVIGATE",{path:r})},G=M.createContext(de),he=()=>M.useContext(G),pe=({children:r,config:o})=>{const[n,t]=M.useState(void 0),[e,i]=M.useState(!0),s=(u,...c)=>new Promise((f,J)=>{new j().emit("INVOKE_ACTION",{actionKey:u,args:c},D=>{D.success?f(D.result):J(new Error(D.error))})});M.useEffect(()=>{if(o.forceRedirect&&!o.isDev&&window.self===window.top){console.error("This app must be run inside an iframe when forceRedirect is true.");return}const u=new j;return u.on("DATA_RESPONSE",c=>{t(c),i(!1)}),u.emit("REQUEST_DATA"),()=>{u.teardown()}},[o]);const a={data:n,isLoading:e,invokeAction:s,navigate:le};return z.jsx(G.Provider,{value:a,children:r})};exports.AppClientProvider=pe;exports.useAppClient=he;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("react/jsx-runtime"),M=require("react");var v=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function J(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var E={},h={},C;function z(){if(C)return h;C=1,Object.defineProperty(h,"__esModule",{value:!0}),h.detach=h.attach=void 0;var r=d(),o=!1;function n(){o||typeof window>"u"||(o=!0,window.addEventListener("message",r.onMessage,!1))}h.attach=n;function t(){o=!1,window.removeEventListener("message",r.onMessage,!1)}return h.detach=t,h}var b={},j;function H(){if(j)return b;j=1,Object.defineProperty(b,"__esModule",{value:!0}),b.broadcastToChildWindows=void 0;var r=d();function o(n,t,e){for(var i=r.childWindows.length-1;i>=0;i--){var s=r.childWindows[i];s.closed?r.childWindows.splice(i,1):e!==s&&(0,r.broadcast)(n,{origin:t,frame:s.top})}}return b.broadcastToChildWindows=o,b}var g={},S;function Q(){if(S)return g;S=1,Object.defineProperty(g,"__esModule",{value:!0}),g.broadcast=void 0;var r=d();function o(n,t){var e=0,i,s=t.origin,a=t.frame;try{for(a.postMessage(n,s),(0,r.hasOpener)(a)&&a.opener.top!==window.top&&o(n,{origin:s,frame:a.opener.top});i=a.frames[e];)o(n,{origin:s,frame:i}),e++}catch{}}return g.broadcast=o,g}var l={};Object.defineProperty(l,"__esModule",{value:!0});l.subscribers=l.childWindows=l.prefix=void 0;l.prefix="/*framebus*/";l.childWindows=[];l.subscribers={};var y={},q;function X(){if(q)return y;q=1,Object.defineProperty(y,"__esModule",{value:!0}),y.dispatch=void 0;var r=d();function o(n,t,e,i,s){if(r.subscribers[n]&&r.subscribers[n][t]){var a=[];e&&a.push(e),i&&a.push(i);for(var u=0;u<r.subscribers[n][t].length;u++)r.subscribers[n][t][u].apply(s,a)}}return y.dispatch=o,y}var T={};Object.defineProperty(T,"__esModule",{value:!0});T.hasOpener=void 0;function Y(r){return!(r.top!==r||r.opener==null||r.opener===r||r.opener.closed===!0)}T.hasOpener=Y;var D={};Object.defineProperty(D,"__esModule",{value:!0});D.isntString=void 0;function Z(r){return typeof r!="string"}D.isntString=Z;var m={},R;function ee(){if(R)return m;R=1,Object.defineProperty(m,"__esModule",{value:!0}),m.onMessage=void 0;var r=d();function o(n){if(!(0,r.isntString)(n.data)){var t=(0,r.unpackPayload)(n);if(t){var e=t.eventData,i=t.reply;(0,r.dispatch)("*",t.event,e,i,n),(0,r.dispatch)(n.origin,t.event,e,i,n),(0,r.broadcastToChildWindows)(n.data,t.origin,n.source)}}}return m.onMessage=o,m}var _={},I;function re(){if(I)return _;I=1,Object.defineProperty(_,"__esModule",{value:!0}),_.packagePayload=void 0;var r=d();function o(n,t,e,i){var s,a={event:n,origin:t};typeof i=="function"&&(a.reply=(0,r.subscribeReplier)(i,t)),a.eventData=e;try{s=r.prefix+JSON.stringify(a)}catch(u){throw new Error("Could not stringify event: ".concat(u.message))}return s}return _.packagePayload=o,_}var F={};Object.defineProperty(F,"__esModule",{value:!0});F.sendMessage=void 0;function te(r,o,n){try{r.postMessage(o,n)}catch{}}F.sendMessage=te;var w={},P={},k;function K(){if(k)return P;k=1,Object.defineProperty(P,"__esModule",{value:!0}),P.Framebus=void 0;var r=d(),o=typeof window<"u"&&window.Promise,n=function(){function t(e){e===void 0&&(e={}),this.origin=e.origin||"*",this.channel=e.channel||"",this.verifyDomain=e.verifyDomain,this.targetFrames=e.targetFrames||[],this.limitBroadcastToFramesArray=!!e.targetFrames,this.isDestroyed=!1,this.listeners=[],this.hasAdditionalChecksForOnListeners=!!(this.verifyDomain||this.limitBroadcastToFramesArray)}return t.setPromise=function(e){t.Promise=e},t.target=function(e){return new t(e)},t.prototype.addTargetFrame=function(e){this.limitBroadcastToFramesArray&&this.targetFrames.push(e)},t.prototype.include=function(e){return e==null||e.Window==null||e.constructor!==e.Window?!1:(r.childWindows.push(e),!0)},t.prototype.target=function(e){return t.target(e)},t.prototype.emit=function(e,i,s){if(this.isDestroyed)return!1;var a=this.origin;if(e=this.namespaceEvent(e),(0,r.isntString)(e)||(0,r.isntString)(a))return!1;typeof i=="function"&&(s=i,i=void 0);var u=(0,r.packagePayload)(e,a,i,s);return u?(this.limitBroadcastToFramesArray?this.targetFramesAsWindows().forEach(function(c){(0,r.sendMessage)(c,u,a)}):(0,r.broadcast)(u,{origin:a,frame:window.top||window.self}),!0):!1},t.prototype.emitAsPromise=function(e,i){var s=this;return new t.Promise(function(a,u){var c=s.emit(e,i,function(f){a(f)});c||u(new Error('Listener not added for "'.concat(e,'"')))})},t.prototype.on=function(e,i){if(this.isDestroyed)return!1;var s=this,a=this.origin,u=i;return e=this.namespaceEvent(e),(0,r.subscriptionArgsInvalid)(e,u,a)?!1:(this.hasAdditionalChecksForOnListeners&&(u=function(){for(var c=[],f=0;f<arguments.length;f++)c[f]=arguments[f];s.passesVerifyDomainCheck(this&&this.origin)&&s.hasMatchingTargetFrame(this&&this.source)&&i.apply(void 0,c)}),this.listeners.push({eventName:e,handler:u,originalHandler:i}),r.subscribers[a]=r.subscribers[a]||{},r.subscribers[a][e]=r.subscribers[a][e]||[],r.subscribers[a][e].push(u),!0)},t.prototype.off=function(e,i){var s=i;if(this.isDestroyed)return!1;if(this.verifyDomain)for(var a=0;a<this.listeners.length;a++){var u=this.listeners[a];u.originalHandler===i&&(s=u.handler)}e=this.namespaceEvent(e);var c=this.origin;if((0,r.subscriptionArgsInvalid)(e,s,c))return!1;var f=r.subscribers[c]&&r.subscribers[c][e];if(!f)return!1;for(var a=0;a<f.length;a++)if(f[a]===s)return f.splice(a,1),!0;return!1},t.prototype.teardown=function(){if(!this.isDestroyed){this.isDestroyed=!0;for(var e=0;e<this.listeners.length;e++){var i=this.listeners[e];this.off(i.eventName,i.handler)}this.listeners.length=0}},t.prototype.passesVerifyDomainCheck=function(e){return this.verifyDomain?this.checkOrigin(e):!0},t.prototype.targetFramesAsWindows=function(){return this.limitBroadcastToFramesArray?this.targetFrames.map(function(e){return e instanceof HTMLIFrameElement?e.contentWindow:e}).filter(function(e){return e}):[]},t.prototype.hasMatchingTargetFrame=function(e){if(!this.limitBroadcastToFramesArray)return!0;var i=this.targetFramesAsWindows().find(function(s){return s===e});return!!i},t.prototype.checkOrigin=function(e){var i,s=document.createElement("a");s.href=location.href,s.protocol==="https:"?i=s.host.replace(/:443$/,""):s.protocol==="http:"?i=s.host.replace(/:80$/,""):i=s.host;var a=s.protocol+"//"+i;return a===e?!0:this.verifyDomain?this.verifyDomain(e):!0},t.prototype.namespaceEvent=function(e){return this.channel?"".concat(this.channel,":").concat(e):e},t.Promise=o,t}();return P.Framebus=n,P}function ie(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){var o=Math.random()*16|0,n=r==="x"?o:o&3|8;return n.toString(16)})}var ne=ie,L;function ae(){if(L)return w;L=1;var r=v&&v.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(w,"__esModule",{value:!0}),w.subscribeReplier=void 0;var o=K(),n=r(ne);function t(e,i){var s=(0,n.default)();function a(u,c){e(u,c),o.Framebus.target({origin:i}).off(s,a)}return o.Framebus.target({origin:i}).on(s,a),s}return w.subscribeReplier=t,w}var A={},B;function se(){if(B)return A;B=1,Object.defineProperty(A,"__esModule",{value:!0}),A.subscriptionArgsInvalid=void 0;var r=d();function o(n,t,e){return(0,r.isntString)(n)||typeof t!="function"?!0:(0,r.isntString)(e)}return A.subscriptionArgsInvalid=o,A}var V={};Object.defineProperty(V,"__esModule",{value:!0});var O={},W;function oe(){if(W)return O;W=1,Object.defineProperty(O,"__esModule",{value:!0}),O.unpackPayload=void 0;var r=d();function o(n){var t;if(n.data.slice(0,r.prefix.length)!==r.prefix)return!1;try{t=JSON.parse(n.data.slice(r.prefix.length))}catch{return!1}if(t.reply){var e=n.origin,i=n.source,s=t.reply;t.reply=function(u){if(i){var c=(0,r.packagePayload)(s,e,u);c&&i.postMessage(c,e)}}}return t}return O.unpackPayload=o,O}var $;function d(){return $||($=1,function(r){var o=v&&v.__createBinding||(Object.create?function(t,e,i,s){s===void 0&&(s=i);var a=Object.getOwnPropertyDescriptor(e,i);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[i]}}),Object.defineProperty(t,s,a)}:function(t,e,i,s){s===void 0&&(s=i),t[s]=e[i]}),n=v&&v.__exportStar||function(t,e){for(var i in t)i!=="default"&&!Object.prototype.hasOwnProperty.call(e,i)&&o(e,t,i)};Object.defineProperty(r,"__esModule",{value:!0}),n(z(),r),n(H(),r),n(Q(),r),n(l,r),n(X(),r),n(T,r),n(D,r),n(ee(),r),n(re(),r),n(F,r),n(ae(),r),n(se(),r),n(V,r),n(oe(),r)}(E)),E}var ue=d(),ce=K();(0,ue.attach)();var fe=ce.Framebus;const p=J(fe),de={isLoading:!0,invokeAction:async()=>Promise.reject("Action functionality not initialized."),navigate:()=>{}},le=r=>{new p().emit("NAVIGATE",{path:r})},he=(r,o)=>{new p().emit("INVOKE_DEFAULT_ACTION",{actionKey:"showModalDialog",args:[r,o]})},pe=(r,o)=>new p().emit("INVOKE_DEFAULT_ACTION",{actionKey:"showConfirmationDialog",args:[r,o]}),ve=(r,o)=>{new p().emit("INVOKE_DEFAULT_ACTION",{actionKey:"showToast",args:[r,o]})},be=(r,o)=>{new p().emit("INVOKE_DEFAULT_ACTION",{actionKey:"showErrorMessage",args:[r,o]})},U=M.createContext(de),ge=()=>M.useContext(U),ye=({children:r,config:o})=>{const[n,t]=M.useState(void 0),[e,i]=M.useState(!0),s=(u,...c)=>new Promise((f,N)=>{new p().emit("INVOKE_ACTION",{actionKey:u,args:c},x=>{x.success?f(x.result):N(new Error(x.error))})});M.useEffect(()=>{if(o.forceRedirect&&!o.isDev&&window.self===window.top){console.error("This app must be run inside an iframe when forceRedirect is true.");return}const u=new p;return u.on("DATA_RESPONSE",c=>{t(c),i(!1)}),u.emit("REQUEST_DATA"),()=>{u.teardown()}},[o]);const a={data:n,isLoading:e,invokeAction:s,navigate:le,showModalDialog:he,showConfirmationDialog:pe,showToast:ve,showErrorMessage:be};return G.jsx(U.Provider,{value:a,children:r})};exports.AppClientProvider=ye;exports.useAppClient=ge;
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
- import { jsx as z } from "react/jsx-runtime";
2
- import { createContext as H, useContext as K, useState as j, useEffect as Q } from "react";
3
- var p = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
4
- function X(r) {
1
+ import { jsx as G } from "react/jsx-runtime";
2
+ import { createContext as J, useContext as z, useState as E, useEffect as H } from "react";
3
+ var v = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
4
+ function Q(r) {
5
5
  return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, "default") ? r.default : r;
6
6
  }
7
- var D = {}, h = {}, q;
8
- function Y() {
9
- if (q)
7
+ var x = {}, h = {}, C;
8
+ function X() {
9
+ if (C)
10
10
  return h;
11
- q = 1, Object.defineProperty(h, "__esModule", { value: !0 }), h.detach = h.attach = void 0;
11
+ C = 1, Object.defineProperty(h, "__esModule", { value: !0 }), h.detach = h.attach = void 0;
12
12
  var r = d(), o = !1;
13
13
  function n() {
14
14
  o || typeof window > "u" || (o = !0, window.addEventListener("message", r.onMessage, !1));
@@ -19,11 +19,11 @@ function Y() {
19
19
  }
20
20
  return h.detach = t, h;
21
21
  }
22
- var v = {}, R;
23
- function Z() {
24
- if (R)
25
- return v;
26
- R = 1, Object.defineProperty(v, "__esModule", { value: !0 }), v.broadcastToChildWindows = void 0;
22
+ var b = {}, j;
23
+ function Y() {
24
+ if (j)
25
+ return b;
26
+ j = 1, Object.defineProperty(b, "__esModule", { value: !0 }), b.broadcastToChildWindows = void 0;
27
27
  var r = d();
28
28
  function o(n, t, e) {
29
29
  for (var i = r.childWindows.length - 1; i >= 0; i--) {
@@ -34,13 +34,13 @@ function Z() {
34
34
  });
35
35
  }
36
36
  }
37
- return v.broadcastToChildWindows = o, v;
37
+ return b.broadcastToChildWindows = o, b;
38
38
  }
39
- var b = {}, S;
40
- function N() {
41
- if (S)
42
- return b;
43
- S = 1, Object.defineProperty(b, "__esModule", { value: !0 }), b.broadcast = void 0;
39
+ var g = {}, q;
40
+ function Z() {
41
+ if (q)
42
+ return g;
43
+ q = 1, Object.defineProperty(g, "__esModule", { value: !0 }), g.broadcast = void 0;
44
44
  var r = d();
45
45
  function o(n, t) {
46
46
  var e = 0, i, s = t.origin, a = t.frame;
@@ -56,7 +56,7 @@ function N() {
56
56
  } catch {
57
57
  }
58
58
  }
59
- return b.broadcast = o, b;
59
+ return g.broadcast = o, g;
60
60
  }
61
61
  var l = {};
62
62
  Object.defineProperty(l, "__esModule", { value: !0 });
@@ -64,11 +64,11 @@ l.subscribers = l.childWindows = l.prefix = void 0;
64
64
  l.prefix = "/*framebus*/";
65
65
  l.childWindows = [];
66
66
  l.subscribers = {};
67
- var g = {}, C;
67
+ var y = {}, R;
68
68
  function ee() {
69
- if (C)
70
- return g;
71
- C = 1, Object.defineProperty(g, "__esModule", { value: !0 }), g.dispatch = void 0;
69
+ if (R)
70
+ return y;
71
+ R = 1, Object.defineProperty(y, "__esModule", { value: !0 }), y.dispatch = void 0;
72
72
  var r = d();
73
73
  function o(n, t, e, i, s) {
74
74
  if (r.subscribers[n] && r.subscribers[n][t]) {
@@ -78,7 +78,7 @@ function ee() {
78
78
  r.subscribers[n][t][u].apply(s, a);
79
79
  }
80
80
  }
81
- return g.dispatch = o, g;
81
+ return y.dispatch = o, y;
82
82
  }
83
83
  var M = {};
84
84
  Object.defineProperty(M, "__esModule", { value: !0 });
@@ -87,18 +87,18 @@ function re(r) {
87
87
  return !(r.top !== r || r.opener == null || r.opener === r || r.opener.closed === !0);
88
88
  }
89
89
  M.hasOpener = re;
90
- var O = {};
91
- Object.defineProperty(O, "__esModule", { value: !0 });
92
- O.isntString = void 0;
90
+ var T = {};
91
+ Object.defineProperty(T, "__esModule", { value: !0 });
92
+ T.isntString = void 0;
93
93
  function te(r) {
94
94
  return typeof r != "string";
95
95
  }
96
- O.isntString = te;
97
- var y = {}, E;
96
+ T.isntString = te;
97
+ var m = {}, S;
98
98
  function ie() {
99
- if (E)
100
- return y;
101
- E = 1, Object.defineProperty(y, "__esModule", { value: !0 }), y.onMessage = void 0;
99
+ if (S)
100
+ return m;
101
+ S = 1, Object.defineProperty(m, "__esModule", { value: !0 }), m.onMessage = void 0;
102
102
  var r = d();
103
103
  function o(n) {
104
104
  if (!(0, r.isntString)(n.data)) {
@@ -109,13 +109,13 @@ function ie() {
109
109
  }
110
110
  }
111
111
  }
112
- return y.onMessage = o, y;
112
+ return m.onMessage = o, m;
113
113
  }
114
- var m = {}, k;
114
+ var _ = {}, I;
115
115
  function ne() {
116
- if (k)
117
- return m;
118
- k = 1, Object.defineProperty(m, "__esModule", { value: !0 }), m.packagePayload = void 0;
116
+ if (I)
117
+ return _;
118
+ I = 1, Object.defineProperty(_, "__esModule", { value: !0 }), _.packagePayload = void 0;
119
119
  var r = d();
120
120
  function o(n, t, e, i) {
121
121
  var s, a = {
@@ -130,23 +130,23 @@ function ne() {
130
130
  }
131
131
  return s;
132
132
  }
133
- return m.packagePayload = o, m;
133
+ return _.packagePayload = o, _;
134
134
  }
135
- var F = {};
136
- Object.defineProperty(F, "__esModule", { value: !0 });
137
- F.sendMessage = void 0;
135
+ var D = {};
136
+ Object.defineProperty(D, "__esModule", { value: !0 });
137
+ D.sendMessage = void 0;
138
138
  function ae(r, o, n) {
139
139
  try {
140
140
  r.postMessage(o, n);
141
141
  } catch {
142
142
  }
143
143
  }
144
- F.sendMessage = ae;
145
- var _ = {}, w = {}, B;
146
- function V() {
147
- if (B)
148
- return w;
149
- B = 1, Object.defineProperty(w, "__esModule", { value: !0 }), w.Framebus = void 0;
144
+ D.sendMessage = ae;
145
+ var w = {}, P = {}, k;
146
+ function K() {
147
+ if (k)
148
+ return P;
149
+ k = 1, Object.defineProperty(P, "__esModule", { value: !0 }), P.Framebus = void 0;
150
150
  var r = d(), o = typeof window < "u" && window.Promise, n = (
151
151
  /** @class */
152
152
  function() {
@@ -252,7 +252,7 @@ function V() {
252
252
  }, t.Promise = o, t;
253
253
  }()
254
254
  );
255
- return w.Framebus = n, w;
255
+ return P.Framebus = n, P;
256
256
  }
257
257
  function se() {
258
258
  return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(r) {
@@ -260,16 +260,16 @@ function se() {
260
260
  return n.toString(16);
261
261
  });
262
262
  }
263
- var oe = se, I;
263
+ var oe = se, L;
264
264
  function ue() {
265
- if (I)
266
- return _;
267
- I = 1;
268
- var r = p && p.__importDefault || function(e) {
265
+ if (L)
266
+ return w;
267
+ L = 1;
268
+ var r = v && v.__importDefault || function(e) {
269
269
  return e && e.__esModule ? e : { default: e };
270
270
  };
271
- Object.defineProperty(_, "__esModule", { value: !0 }), _.subscribeReplier = void 0;
272
- var o = V(), n = r(oe);
271
+ Object.defineProperty(w, "__esModule", { value: !0 }), w.subscribeReplier = void 0;
272
+ var o = K(), n = r(oe);
273
273
  function t(e, i) {
274
274
  var s = (0, n.default)();
275
275
  function a(u, c) {
@@ -281,26 +281,26 @@ function ue() {
281
281
  origin: i
282
282
  }).on(s, a), s;
283
283
  }
284
- return _.subscribeReplier = t, _;
284
+ return w.subscribeReplier = t, w;
285
285
  }
286
- var P = {}, L;
286
+ var A = {}, B;
287
287
  function ce() {
288
- if (L)
289
- return P;
290
- L = 1, Object.defineProperty(P, "__esModule", { value: !0 }), P.subscriptionArgsInvalid = void 0;
288
+ if (B)
289
+ return A;
290
+ B = 1, Object.defineProperty(A, "__esModule", { value: !0 }), A.subscriptionArgsInvalid = void 0;
291
291
  var r = d();
292
292
  function o(n, t, e) {
293
293
  return (0, r.isntString)(n) || typeof t != "function" ? !0 : (0, r.isntString)(e);
294
294
  }
295
- return P.subscriptionArgsInvalid = o, P;
295
+ return A.subscriptionArgsInvalid = o, A;
296
296
  }
297
- var U = {};
298
- Object.defineProperty(U, "__esModule", { value: !0 });
299
- var A = {}, W;
297
+ var V = {};
298
+ Object.defineProperty(V, "__esModule", { value: !0 });
299
+ var O = {}, W;
300
300
  function fe() {
301
301
  if (W)
302
- return A;
303
- W = 1, Object.defineProperty(A, "__esModule", { value: !0 }), A.unpackPayload = void 0;
302
+ return O;
303
+ W = 1, Object.defineProperty(O, "__esModule", { value: !0 }), O.unpackPayload = void 0;
304
304
  var r = d();
305
305
  function o(n) {
306
306
  var t;
@@ -322,12 +322,12 @@ function fe() {
322
322
  }
323
323
  return t;
324
324
  }
325
- return A.unpackPayload = o, A;
325
+ return O.unpackPayload = o, O;
326
326
  }
327
327
  var $;
328
328
  function d() {
329
329
  return $ || ($ = 1, function(r) {
330
- var o = p && p.__createBinding || (Object.create ? function(t, e, i, s) {
330
+ var o = v && v.__createBinding || (Object.create ? function(t, e, i, s) {
331
331
  s === void 0 && (s = i);
332
332
  var a = Object.getOwnPropertyDescriptor(e, i);
333
333
  (!a || ("get" in a ? !e.__esModule : a.writable || a.configurable)) && (a = { enumerable: !0, get: function() {
@@ -335,37 +335,55 @@ function d() {
335
335
  } }), Object.defineProperty(t, s, a);
336
336
  } : function(t, e, i, s) {
337
337
  s === void 0 && (s = i), t[s] = e[i];
338
- }), n = p && p.__exportStar || function(t, e) {
338
+ }), n = v && v.__exportStar || function(t, e) {
339
339
  for (var i in t)
340
340
  i !== "default" && !Object.prototype.hasOwnProperty.call(e, i) && o(e, t, i);
341
341
  };
342
- Object.defineProperty(r, "__esModule", { value: !0 }), n(Y(), r), n(Z(), r), n(N(), r), n(l, r), n(ee(), r), n(M, r), n(O, r), n(ie(), r), n(ne(), r), n(F, r), n(ue(), r), n(ce(), r), n(U, r), n(fe(), r);
343
- }(D)), D;
342
+ Object.defineProperty(r, "__esModule", { value: !0 }), n(X(), r), n(Y(), r), n(Z(), r), n(l, r), n(ee(), r), n(M, r), n(T, r), n(ie(), r), n(ne(), r), n(D, r), n(ue(), r), n(ce(), r), n(V, r), n(fe(), r);
343
+ }(x)), x;
344
344
  }
345
- var de = d(), le = V();
345
+ var de = d(), le = K();
346
346
  (0, de.attach)();
347
347
  var he = le.Framebus;
348
- const T = /* @__PURE__ */ X(he), pe = {
348
+ const p = /* @__PURE__ */ Q(he), pe = {
349
349
  isLoading: !0,
350
350
  invokeAction: async () => Promise.reject("Action functionality not initialized."),
351
351
  navigate: () => {
352
352
  }
353
353
  }, ve = (r) => {
354
- new T().emit("NAVIGATE", { path: r });
355
- }, G = H(pe), me = () => K(G), _e = ({ children: r, config: o }) => {
356
- const [n, t] = j(void 0), [e, i] = j(!0), s = (u, ...c) => new Promise((f, J) => {
357
- new T().emit("INVOKE_ACTION", { actionKey: u, args: c }, (x) => {
358
- x.success ? f(x.result) : J(new Error(x.error));
354
+ new p().emit("NAVIGATE", { path: r });
355
+ }, be = (r, o) => {
356
+ new p().emit("INVOKE_DEFAULT_ACTION", {
357
+ actionKey: "showModalDialog",
358
+ args: [r, o]
359
+ });
360
+ }, ge = (r, o) => new p().emit("INVOKE_DEFAULT_ACTION", {
361
+ actionKey: "showConfirmationDialog",
362
+ args: [r, o]
363
+ }), ye = (r, o) => {
364
+ new p().emit("INVOKE_DEFAULT_ACTION", {
365
+ actionKey: "showToast",
366
+ args: [r, o]
367
+ });
368
+ }, me = (r, o) => {
369
+ new p().emit("INVOKE_DEFAULT_ACTION", {
370
+ actionKey: "showErrorMessage",
371
+ args: [r, o]
372
+ });
373
+ }, U = J(pe), Ae = () => z(U), Oe = ({ children: r, config: o }) => {
374
+ const [n, t] = E(void 0), [e, i] = E(!0), s = (u, ...c) => new Promise((f, N) => {
375
+ new p().emit("INVOKE_ACTION", { actionKey: u, args: c }, (F) => {
376
+ F.success ? f(F.result) : N(new Error(F.error));
359
377
  });
360
378
  });
361
- Q(() => {
379
+ H(() => {
362
380
  if (o.forceRedirect && !o.isDev && window.self === window.top) {
363
381
  console.error(
364
382
  "This app must be run inside an iframe when forceRedirect is true."
365
383
  );
366
384
  return;
367
385
  }
368
- const u = new T();
386
+ const u = new p();
369
387
  return u.on("DATA_RESPONSE", (c) => {
370
388
  t(c), i(!1);
371
389
  }), u.emit("REQUEST_DATA"), () => {
@@ -376,11 +394,15 @@ const T = /* @__PURE__ */ X(he), pe = {
376
394
  data: n,
377
395
  isLoading: e,
378
396
  invokeAction: s,
379
- navigate: ve
397
+ navigate: ve,
398
+ showModalDialog: be,
399
+ showConfirmationDialog: ge,
400
+ showToast: ye,
401
+ showErrorMessage: me
380
402
  };
381
- return /* @__PURE__ */ z(G.Provider, { value: a, children: r });
403
+ return /* @__PURE__ */ G(U.Provider, { value: a, children: r });
382
404
  };
383
405
  export {
384
- _e as AppClientProvider,
385
- me as useAppClient
406
+ Oe as AppClientProvider,
407
+ Ae as useAppClient
386
408
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@akinon/app-client",
3
3
  "description": "Akinon UI App Client. This library is used to create a new plugin or an application which will reside in Akinon's applications.",
4
- "version": "0.3.0",
4
+ "version": "0.3.1",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
@@ -13,14 +13,14 @@
13
13
  "framebus": "^6.0.0",
14
14
  "postmate": "^1.5.2",
15
15
  "use-immer": "^0.9.0",
16
- "@akinon/app-shared": "^0.2.0"
16
+ "@akinon/app-shared": "^0.2.1"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@types/postmate": "^1.5.3",
20
20
  "clean-package": "2.2.0",
21
21
  "@akinon/vite-config": "^0.1.1",
22
- "tsconfig": "0.0.0",
23
- "eslint-config-custom": "0.1.0"
22
+ "eslint-config-custom": "0.1.0",
23
+ "tsconfig": "0.0.0"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "react": "18.x",