@akinon/app-client 0.5.0 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
+ import { default as React } from 'react';
1
2
  import { ApplicationData, ApplicationNavigation, ApplicationParams, FullpageApplicationConfig, PluginApplicationConfig, RegisteredApp, RegisteredAppType, ShellNavigation, ShellNavigationPayload } from '@akinon/app-shared';
2
- import React from 'react';
3
+
3
4
  /**
4
5
  * Defines the context state for the AppClient, including application data,
5
6
  * loading status, and methods for invoking actions and navigating.
@@ -1 +1 @@
1
- {"version":3,"file":"app-client-provider.d.ts","sourceRoot":"","sources":["../src/app-client-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,UAAU,qBAAqB;IAC7B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,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,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACpD,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;AAED;;;;;GAKG;AACH,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,yBAAyB,GAAG,uBAAuB,CAAC;CAC7D;AAaD;;;GAGG;AACH,QAAA,MAAM,YAAY,6BAAqC,CAAC;AA4ExD;;;;GAIG;AACH,QAAA,MAAM,iBAAiB,yBAA0B,sBAAsB,sBAmGtE,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;AAC3C,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,eAAe,EAChB,CAAC"}
1
+ {"version":3,"file":"app-client-provider.d.ts","sourceRoot":"","sources":["../src/app-client-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EAGvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,UAAU,qBAAqB;IAC7B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,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,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACpD,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;AAED;;;;;GAKG;AACH,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,yBAAyB,GAAG,uBAAuB,CAAC;CAC7D;AAaD;;;GAGG;AACH,QAAA,MAAM,YAAY,6BAAqC,CAAC;AA4ExD;;;;GAIG;AACH,QAAA,MAAM,iBAAiB,yBAA0B,sBAAsB,sBA4GtE,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;AAC3C,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,eAAe,EAChB,CAAC"}
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Y=require("react/jsx-runtime"),b=require("react");var m=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Z(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var R={},g={},q;function ee(){if(q)return g;q=1,Object.defineProperty(g,"__esModule",{value:!0}),g.detach=g.attach=void 0;var r=d(),o=!1;function n(){o||typeof window>"u"||(o=!0,window.addEventListener("message",r.onMessage,!1))}g.attach=n;function t(){o=!1,window.removeEventListener("message",r.onMessage,!1)}return g.detach=t,g}var w={},L;function re(){if(L)return w;L=1,Object.defineProperty(w,"__esModule",{value:!0}),w.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 w.broadcastToChildWindows=o,w}var P={},k;function te(){if(k)return P;k=1,Object.defineProperty(P,"__esModule",{value:!0}),P.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 P.broadcast=o,P}var p={};Object.defineProperty(p,"__esModule",{value:!0});p.subscribers=p.childWindows=p.prefix=void 0;p.prefix="/*framebus*/";p.childWindows=[];p.subscribers={};var A={},B;function ie(){if(B)return A;B=1,Object.defineProperty(A,"__esModule",{value:!0}),A.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 A.dispatch=o,A}var S={};Object.defineProperty(S,"__esModule",{value:!0});S.hasOpener=void 0;function ne(r){return!(r.top!==r||r.opener==null||r.opener===r||r.opener.closed===!0)}S.hasOpener=ne;var j={};Object.defineProperty(j,"__esModule",{value:!0});j.isntString=void 0;function ae(r){return typeof r!="string"}j.isntString=ae;var O={},W;function se(){if(W)return O;W=1,Object.defineProperty(O,"__esModule",{value:!0}),O.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 O.onMessage=o,O}var M={},$;function oe(){if($)return M;$=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 I={};Object.defineProperty(I,"__esModule",{value:!0});I.sendMessage=void 0;function ue(r,o,n){try{r.postMessage(o,n)}catch{}}I.sendMessage=ue;var T={},D={},V;function H(){if(V)return D;V=1,Object.defineProperty(D,"__esModule",{value:!0}),D.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 D.Framebus=n,D}function ce(){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 fe=ce,K;function de(){if(K)return T;K=1;var r=m&&m.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(T,"__esModule",{value:!0}),T.subscribeReplier=void 0;var o=H(),n=r(fe);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 T.subscribeReplier=t,T}var F={},U;function le(){if(U)return F;U=1,Object.defineProperty(F,"__esModule",{value:!0}),F.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 F.subscriptionArgsInvalid=o,F}var J={};Object.defineProperty(J,"__esModule",{value:!0});var E={},N;function he(){if(N)return E;N=1,Object.defineProperty(E,"__esModule",{value:!0}),E.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 E.unpackPayload=o,E}var G;function d(){return G||(G=1,function(r){var o=m&&m.__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=m&&m.__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(ee(),r),n(re(),r),n(te(),r),n(p,r),n(ie(),r),n(S,r),n(j,r),n(se(),r),n(oe(),r),n(I,r),n(de(),r),n(le(),r),n(J,r),n(he(),r)}(R)),R}var pe=d(),ve=H();(0,pe.attach)();var ge=ve.Framebus;const v=Z(ge),be={isLoading:!0,invokeAction:async()=>Promise.reject("Action functionality not initialized."),navigate:()=>{}},z=b.createContext(be),ye=()=>b.useContext(z),me=r=>{new v().emit("NAVIGATE",{...r})},_e=(r,o)=>{new v().emit("INVOKE_DEFAULT_ACTION",{actionKey:"showModalDialog",args:[r,o]})},we=(r,o)=>new v().emit("INVOKE_DEFAULT_ACTION",{actionKey:"showConfirmationDialog",args:[r,o]}),Pe=(r,o)=>{new v().emit("INVOKE_DEFAULT_ACTION",{actionKey:"showToast",args:[r,o]})},Ae=(r,o)=>{new v().emit("INVOKE_DEFAULT_ACTION",{actionKey:"showErrorMessage",args:[r,o]})},Oe=({children:r,config:o})=>{const[,n]=b.useState(void 0),[t,e]=b.useState(void 0),[i,s]=b.useState(void 0),[a,u]=b.useState(!0),c=(x,...C)=>new Promise((h,l)=>{new v().emit("INVOKE_ACTION",{actionKey:x,args:C},y=>{y.success?h(y.result):l(new Error(y.error))})}),f=()=>{const x=o;return Array.isArray(x.menu)};b.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 C=new URL(window.location.href).searchParams.get("c"),h=C?new v({channel:C}):new v;return h.emit("REQUEST_DATA",{config:o}),h.on("DATA_RESPONSE",l=>{e(l),u(!1)}),h.on("PARAMS_RESPONSE",l=>{s(l)}),h.on("SET_APP_ID",l=>{const{appId:_}=l;n(_)}),f()&&h.on("NAVIGATE_CHILD",l=>{const{path:_}=l,{navigation:y}=o;if(y){const{navigate:X}=y;X({path:_})}}),()=>{h.teardown()}},[o]);const Q={data:t,params:i,isLoading:a,invokeAction:c,navigate:me,showModalDialog:_e,showConfirmationDialog:we,showToast:Pe,showErrorMessage:Ae};return Y.jsx(z.Provider,{value:Q,children:r})};exports.AppClientProvider=Oe;exports.useAppClient=ye;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ee=require("react/jsx-runtime"),y=require("react"),l={SET_APP_ID:"SET_APP_ID",SET_CONFIG:"SET_CONFIG",SET_DATA:"SET_DATA",SET_HEIGHT:"SET_HEIGHT",SET_PARAMS:"SET_PARAMS",INVOKE_ACTION:"INVOKE_ACTION",INVOKE_DEFAULT_ACTION:"INVOKE_DEFAULT_ACTION",NAVIGATE:"NAVIGATE",NAVIGATE_CHILD:"NAVIGATE_CHILD"},x={showConfirmationDialog:"showConfirmationDialog",showModalDialog:"showModalDialog",showToast:"showToast",showErrorMessage:"showErrorMessage"};var m=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function re(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var L={},b={},N;function te(){if(N)return b;N=1,Object.defineProperty(b,"__esModule",{value:!0}),b.detach=b.attach=void 0;var r=h(),o=!1;function n(){o||typeof window>"u"||(o=!0,window.addEventListener("message",r.onMessage,!1))}b.attach=n;function t(){o=!1,window.removeEventListener("message",r.onMessage,!1)}return b.detach=t,b}var A={},V;function ie(){if(V)return A;V=1,Object.defineProperty(A,"__esModule",{value:!0}),A.broadcastToChildWindows=void 0;var r=h();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 A.broadcastToChildWindows=o,A}var T={},k;function ne(){if(k)return T;k=1,Object.defineProperty(T,"__esModule",{value:!0}),T.broadcast=void 0;var r=h();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 T.broadcast=o,T}var v={};Object.defineProperty(v,"__esModule",{value:!0});v.subscribers=v.childWindows=v.prefix=void 0;v.prefix="/*framebus*/";v.childWindows=[];v.subscribers={};var P={},B;function ae(){if(B)return P;B=1,Object.defineProperty(P,"__esModule",{value:!0}),P.dispatch=void 0;var r=h();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 P.dispatch=o,P}var j={};Object.defineProperty(j,"__esModule",{value:!0});j.hasOpener=void 0;function se(r){return!(r.top!==r||r.opener==null||r.opener===r||r.opener.closed===!0)}j.hasOpener=se;var R={};Object.defineProperty(R,"__esModule",{value:!0});R.isntString=void 0;function oe(r){return typeof r!="string"}R.isntString=oe;var E={},G;function ue(){if(G)return E;G=1,Object.defineProperty(E,"__esModule",{value:!0}),E.onMessage=void 0;var r=h();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 E.onMessage=o,E}var O={},K;function ce(){if(K)return O;K=1,Object.defineProperty(O,"__esModule",{value:!0}),O.packagePayload=void 0;var r=h();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 O.packagePayload=o,O}var q={};Object.defineProperty(q,"__esModule",{value:!0});q.sendMessage=void 0;function fe(r,o,n){try{r.postMessage(o,n)}catch{}}q.sendMessage=fe;var D={},M={},W;function z(){if(W)return M;W=1,Object.defineProperty(M,"__esModule",{value:!0}),M.Framebus=void 0;var r=h(),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 M.Framebus=n,M}function de(){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 le=de,$;function he(){if($)return D;$=1;var r=m&&m.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(D,"__esModule",{value:!0}),D.subscribeReplier=void 0;var o=z(),n=r(le);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 D.subscribeReplier=t,D}var I={},H;function pe(){if(H)return I;H=1,Object.defineProperty(I,"__esModule",{value:!0}),I.subscriptionArgsInvalid=void 0;var r=h();function o(n,t,e){return(0,r.isntString)(n)||typeof t!="function"?!0:(0,r.isntString)(e)}return I.subscriptionArgsInvalid=o,I}var Q={};Object.defineProperty(Q,"__esModule",{value:!0});var C={},U;function ve(){if(U)return C;U=1,Object.defineProperty(C,"__esModule",{value:!0}),C.unpackPayload=void 0;var r=h();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 C.unpackPayload=o,C}var J;function h(){return J||(J=1,function(r){var o=m&&m.__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=m&&m.__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(te(),r),n(ie(),r),n(ne(),r),n(v,r),n(ae(),r),n(j,r),n(R,r),n(ue(),r),n(ce(),r),n(q,r),n(he(),r),n(pe(),r),n(Q,r),n(ve(),r)}(L)),L}var ge=h(),be=z();(0,ge.attach)();var ye=be.Framebus;const g=re(ye),_e={isLoading:!0,invokeAction:async()=>Promise.reject("Action functionality not initialized."),navigate:()=>{}},X=y.createContext(_e),me=()=>y.useContext(X),we=r=>{new g().emit(l.NAVIGATE,{...r})},Ae=(r,o)=>{new g().emit(l.INVOKE_DEFAULT_ACTION,{actionKey:x.showModalDialog,args:[r,o]})},Te=(r,o)=>new g().emit(l.INVOKE_DEFAULT_ACTION,{actionKey:x.showConfirmationDialog,args:[r,o]}),Pe=(r,o)=>{new g().emit(l.INVOKE_DEFAULT_ACTION,{actionKey:x.showToast,args:[r,o]})},Ee=(r,o)=>{new g().emit(l.INVOKE_DEFAULT_ACTION,{actionKey:x.showErrorMessage,args:[r,o]})},Oe=({children:r,config:o})=>{const[,n]=y.useState(void 0),[t,e]=y.useState(void 0),[i,s]=y.useState(void 0),[a,u]=y.useState(!0),c=(F,...S)=>new Promise((p,d)=>{new g().emit(l.INVOKE_ACTION,{actionKey:F,args:S},_=>{_.success?p(_.result):d(new Error(_.error))})}),f=()=>{const F=o;return Array.isArray(F.menu)};y.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 S=new URL(window.location.href).searchParams.get("c"),p=S?new g({channel:S}):new g;if(p.emit(l.SET_CONFIG,{config:o}),p.on(l.SET_DATA,d=>{e(d),u(!1)}),p.on(l.SET_PARAMS,d=>{s(d)}),p.on(l.SET_APP_ID,d=>{const{appId:w}=d;n(w)}),!f()){const d=document.getElementsByTagName("html")[0].offsetHeight;d>0&&window.name&&p.emit(l.SET_HEIGHT,{height:d,id:window.name})}return f()&&p.on(l.NAVIGATE_CHILD,d=>{const{path:w}=d,{navigation:_}=o;if(_){const{navigate:Z}=_;Z({path:w})}}),()=>{p.teardown()}},[o]);const Y={data:t,params:i,isLoading:a,invokeAction:c,navigate:we,showModalDialog:Ae,showConfirmationDialog:Te,showToast:Pe,showErrorMessage:Ee};return ee.jsx(X.Provider,{value:Y,children:r})};exports.AppClientProvider=Oe;exports.useAppClient=me;
package/dist/index.js CHANGED
@@ -1,30 +1,100 @@
1
- import { jsx as Y } from "react/jsx-runtime";
2
- import { createContext as Z, useContext as ee, useState as C, useEffect as re } from "react";
3
- var y = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
4
- function te(r) {
1
+ import { jsx as ee } from "react/jsx-runtime";
2
+ import { createContext as re, useContext as te, useState as S, useEffect as ie } from "react";
3
+ const l = {
4
+ /**
5
+ * The event that is emitted when the AppShell sends
6
+ * the application ID to the client application.
7
+ *
8
+ * AppShell → AppClient
9
+ */
10
+ SET_APP_ID: "SET_APP_ID",
11
+ /**
12
+ * The event that is emitted when client applications
13
+ * sends their configuration to the AppShell.
14
+ *
15
+ * AppClient → AppShell
16
+ */
17
+ SET_CONFIG: "SET_CONFIG",
18
+ /**
19
+ * The event that is emitted when the AppShell sends
20
+ * data to the client application.
21
+ *
22
+ * AppShell → AppClient
23
+ */
24
+ SET_DATA: "SET_DATA",
25
+ /**
26
+ * The event that is emitted when client applications
27
+ * loads and sends their css height information to the AppShell.
28
+ *
29
+ * AppClient → AppShell
30
+ */
31
+ SET_HEIGHT: "SET_HEIGHT",
32
+ /**
33
+ * The event that is emitted to client applications when params property
34
+ * passed to the PluginRenderer component is received or changed.
35
+ *
36
+ * AppShell → AppClient
37
+ */
38
+ SET_PARAMS: "SET_PARAMS",
39
+ /**
40
+ * The event that is emitted when client applications trigger
41
+ * custom actions defined on the AppShell.
42
+ *
43
+ * AppClient → AppShell
44
+ */
45
+ INVOKE_ACTION: "INVOKE_ACTION",
46
+ /**
47
+ * The event that is emitted when client applications trigger
48
+ * default actions defined on the AppShell.
49
+ *
50
+ * AppClient → AppShell
51
+ */
52
+ INVOKE_DEFAULT_ACTION: "INVOKE_DEFAULT_ACTION",
53
+ /**
54
+ * The event that is emitted when client applications trigger
55
+ * navigation for their shell application.
56
+ *
57
+ * AppClient → AppShell
58
+ */
59
+ NAVIGATE: "NAVIGATE",
60
+ /**
61
+ * The event that is emitted when shell applications trigger
62
+ * navigation for their child applications.
63
+ *
64
+ * AppShell → AppClient
65
+ */
66
+ NAVIGATE_CHILD: "NAVIGATE_CHILD"
67
+ }, x = {
68
+ showConfirmationDialog: "showConfirmationDialog",
69
+ showModalDialog: "showModalDialog",
70
+ showToast: "showToast",
71
+ showErrorMessage: "showErrorMessage"
72
+ };
73
+ var m = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
74
+ function ne(r) {
5
75
  return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, "default") ? r.default : r;
6
76
  }
7
- var R = {}, g = {}, q;
8
- function ie() {
9
- if (q)
10
- return g;
11
- q = 1, Object.defineProperty(g, "__esModule", { value: !0 }), g.detach = g.attach = void 0;
12
- var r = d(), o = !1;
77
+ var q = {}, b = {}, N;
78
+ function ae() {
79
+ if (N)
80
+ return b;
81
+ N = 1, Object.defineProperty(b, "__esModule", { value: !0 }), b.detach = b.attach = void 0;
82
+ var r = h(), o = !1;
13
83
  function n() {
14
84
  o || typeof window > "u" || (o = !0, window.addEventListener("message", r.onMessage, !1));
15
85
  }
16
- g.attach = n;
86
+ b.attach = n;
17
87
  function t() {
18
88
  o = !1, window.removeEventListener("message", r.onMessage, !1);
19
89
  }
20
- return g.detach = t, g;
90
+ return b.detach = t, b;
21
91
  }
22
- var _ = {}, L;
23
- function ne() {
24
- if (L)
25
- return _;
26
- L = 1, Object.defineProperty(_, "__esModule", { value: !0 }), _.broadcastToChildWindows = void 0;
27
- var r = d();
92
+ var w = {}, V;
93
+ function se() {
94
+ if (V)
95
+ return w;
96
+ V = 1, Object.defineProperty(w, "__esModule", { value: !0 }), w.broadcastToChildWindows = void 0;
97
+ var r = h();
28
98
  function o(n, t, e) {
29
99
  for (var i = r.childWindows.length - 1; i >= 0; i--) {
30
100
  var s = r.childWindows[i];
@@ -34,14 +104,14 @@ function ne() {
34
104
  });
35
105
  }
36
106
  }
37
- return _.broadcastToChildWindows = o, _;
107
+ return w.broadcastToChildWindows = o, w;
38
108
  }
39
- var w = {}, k;
40
- function ae() {
109
+ var A = {}, k;
110
+ function oe() {
41
111
  if (k)
42
- return w;
43
- k = 1, Object.defineProperty(w, "__esModule", { value: !0 }), w.broadcast = void 0;
44
- var r = d();
112
+ return A;
113
+ k = 1, Object.defineProperty(A, "__esModule", { value: !0 }), A.broadcast = void 0;
114
+ var r = h();
45
115
  function o(n, t) {
46
116
  var e = 0, i, s = t.origin, a = t.frame;
47
117
  try {
@@ -56,20 +126,20 @@ function ae() {
56
126
  } catch {
57
127
  }
58
128
  }
59
- return w.broadcast = o, w;
129
+ return A.broadcast = o, A;
60
130
  }
61
- var p = {};
62
- Object.defineProperty(p, "__esModule", { value: !0 });
63
- p.subscribers = p.childWindows = p.prefix = void 0;
64
- p.prefix = "/*framebus*/";
65
- p.childWindows = [];
66
- p.subscribers = {};
67
- var P = {}, B;
68
- function se() {
131
+ var v = {};
132
+ Object.defineProperty(v, "__esModule", { value: !0 });
133
+ v.subscribers = v.childWindows = v.prefix = void 0;
134
+ v.prefix = "/*framebus*/";
135
+ v.childWindows = [];
136
+ v.subscribers = {};
137
+ var T = {}, B;
138
+ function ue() {
69
139
  if (B)
70
- return P;
71
- B = 1, Object.defineProperty(P, "__esModule", { value: !0 }), P.dispatch = void 0;
72
- var r = d();
140
+ return T;
141
+ B = 1, Object.defineProperty(T, "__esModule", { value: !0 }), T.dispatch = void 0;
142
+ var r = h();
73
143
  function o(n, t, e, i, s) {
74
144
  if (r.subscribers[n] && r.subscribers[n][t]) {
75
145
  var a = [];
@@ -78,28 +148,28 @@ function se() {
78
148
  r.subscribers[n][t][u].apply(s, a);
79
149
  }
80
150
  }
81
- return P.dispatch = o, P;
151
+ return T.dispatch = o, T;
82
152
  }
83
- var I = {};
84
- Object.defineProperty(I, "__esModule", { value: !0 });
85
- I.hasOpener = void 0;
86
- function oe(r) {
153
+ var j = {};
154
+ Object.defineProperty(j, "__esModule", { value: !0 });
155
+ j.hasOpener = void 0;
156
+ function ce(r) {
87
157
  return !(r.top !== r || r.opener == null || r.opener === r || r.opener.closed === !0);
88
158
  }
89
- I.hasOpener = oe;
90
- var S = {};
91
- Object.defineProperty(S, "__esModule", { value: !0 });
92
- S.isntString = void 0;
93
- function ue(r) {
159
+ j.hasOpener = ce;
160
+ var R = {};
161
+ Object.defineProperty(R, "__esModule", { value: !0 });
162
+ R.isntString = void 0;
163
+ function fe(r) {
94
164
  return typeof r != "string";
95
165
  }
96
- S.isntString = ue;
97
- var A = {}, W;
98
- function ce() {
99
- if (W)
100
- return A;
101
- W = 1, Object.defineProperty(A, "__esModule", { value: !0 }), A.onMessage = void 0;
102
- var r = d();
166
+ R.isntString = fe;
167
+ var P = {}, G;
168
+ function de() {
169
+ if (G)
170
+ return P;
171
+ G = 1, Object.defineProperty(P, "__esModule", { value: !0 }), P.onMessage = void 0;
172
+ var r = h();
103
173
  function o(n) {
104
174
  if (!(0, r.isntString)(n.data)) {
105
175
  var t = (0, r.unpackPayload)(n);
@@ -109,14 +179,14 @@ function ce() {
109
179
  }
110
180
  }
111
181
  }
112
- return A.onMessage = o, A;
182
+ return P.onMessage = o, P;
113
183
  }
114
- var O = {}, $;
115
- function fe() {
116
- if ($)
117
- return O;
118
- $ = 1, Object.defineProperty(O, "__esModule", { value: !0 }), O.packagePayload = void 0;
119
- var r = d();
184
+ var E = {}, K;
185
+ function le() {
186
+ if (K)
187
+ return E;
188
+ K = 1, Object.defineProperty(E, "__esModule", { value: !0 }), E.packagePayload = void 0;
189
+ var r = h();
120
190
  function o(n, t, e, i) {
121
191
  var s, a = {
122
192
  event: n,
@@ -130,24 +200,24 @@ function fe() {
130
200
  }
131
201
  return s;
132
202
  }
133
- return O.packagePayload = o, O;
203
+ return E.packagePayload = o, E;
134
204
  }
135
- var j = {};
136
- Object.defineProperty(j, "__esModule", { value: !0 });
137
- j.sendMessage = void 0;
138
- function de(r, o, n) {
205
+ var L = {};
206
+ Object.defineProperty(L, "__esModule", { value: !0 });
207
+ L.sendMessage = void 0;
208
+ function he(r, o, n) {
139
209
  try {
140
210
  r.postMessage(o, n);
141
211
  } catch {
142
212
  }
143
213
  }
144
- j.sendMessage = de;
145
- var M = {}, T = {}, V;
146
- function H() {
147
- if (V)
148
- return T;
149
- V = 1, Object.defineProperty(T, "__esModule", { value: !0 }), T.Framebus = void 0;
150
- var r = d(), o = typeof window < "u" && window.Promise, n = (
214
+ L.sendMessage = he;
215
+ var O = {}, D = {}, W;
216
+ function z() {
217
+ if (W)
218
+ return D;
219
+ W = 1, Object.defineProperty(D, "__esModule", { value: !0 }), D.Framebus = void 0;
220
+ var r = h(), o = typeof window < "u" && window.Promise, n = (
151
221
  /** @class */
152
222
  function() {
153
223
  function t(e) {
@@ -252,24 +322,24 @@ function H() {
252
322
  }, t.Promise = o, t;
253
323
  }()
254
324
  );
255
- return T.Framebus = n, T;
325
+ return D.Framebus = n, D;
256
326
  }
257
- function le() {
327
+ function pe() {
258
328
  return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(r) {
259
329
  var o = Math.random() * 16 | 0, n = r === "x" ? o : o & 3 | 8;
260
330
  return n.toString(16);
261
331
  });
262
332
  }
263
- var he = le, K;
264
- function pe() {
265
- if (K)
266
- return M;
267
- K = 1;
268
- var r = y && y.__importDefault || function(e) {
333
+ var ve = pe, $;
334
+ function ge() {
335
+ if ($)
336
+ return O;
337
+ $ = 1;
338
+ var r = m && m.__importDefault || function(e) {
269
339
  return e && e.__esModule ? e : { default: e };
270
340
  };
271
- Object.defineProperty(M, "__esModule", { value: !0 }), M.subscribeReplier = void 0;
272
- var o = H(), n = r(he);
341
+ Object.defineProperty(O, "__esModule", { value: !0 }), O.subscribeReplier = void 0;
342
+ var o = z(), n = r(ve);
273
343
  function t(e, i) {
274
344
  var s = (0, n.default)();
275
345
  function a(u, c) {
@@ -281,27 +351,27 @@ function pe() {
281
351
  origin: i
282
352
  }).on(s, a), s;
283
353
  }
284
- return M.subscribeReplier = t, M;
354
+ return O.subscribeReplier = t, O;
285
355
  }
286
- var D = {}, U;
287
- function ve() {
288
- if (U)
289
- return D;
290
- U = 1, Object.defineProperty(D, "__esModule", { value: !0 }), D.subscriptionArgsInvalid = void 0;
291
- var r = d();
356
+ var I = {}, H;
357
+ function be() {
358
+ if (H)
359
+ return I;
360
+ H = 1, Object.defineProperty(I, "__esModule", { value: !0 }), I.subscriptionArgsInvalid = void 0;
361
+ var r = h();
292
362
  function o(n, t, e) {
293
363
  return (0, r.isntString)(n) || typeof t != "function" ? !0 : (0, r.isntString)(e);
294
364
  }
295
- return D.subscriptionArgsInvalid = o, D;
365
+ return I.subscriptionArgsInvalid = o, I;
296
366
  }
297
- var J = {};
298
- Object.defineProperty(J, "__esModule", { value: !0 });
299
- var F = {}, N;
300
- function ge() {
301
- if (N)
302
- return F;
303
- N = 1, Object.defineProperty(F, "__esModule", { value: !0 }), F.unpackPayload = void 0;
304
- var r = d();
367
+ var Q = {};
368
+ Object.defineProperty(Q, "__esModule", { value: !0 });
369
+ var M = {}, U;
370
+ function ye() {
371
+ if (U)
372
+ return M;
373
+ U = 1, Object.defineProperty(M, "__esModule", { value: !0 }), M.unpackPayload = void 0;
374
+ var r = h();
305
375
  function o(n) {
306
376
  var t;
307
377
  if (n.data.slice(0, r.prefix.length) !== r.prefix)
@@ -322,12 +392,12 @@ function ge() {
322
392
  }
323
393
  return t;
324
394
  }
325
- return F.unpackPayload = o, F;
395
+ return M.unpackPayload = o, M;
326
396
  }
327
- var G;
328
- function d() {
329
- return G || (G = 1, function(r) {
330
- var o = y && y.__createBinding || (Object.create ? function(t, e, i, s) {
397
+ var J;
398
+ function h() {
399
+ return J || (J = 1, function(r) {
400
+ var o = m && m.__createBinding || (Object.create ? function(t, e, i, s) {
331
401
  s === void 0 && (s = i);
332
402
  var a = Object.getOwnPropertyDescriptor(e, i);
333
403
  (!a || ("get" in a ? !e.__esModule : a.writable || a.configurable)) && (a = { enumerable: !0, get: function() {
@@ -335,91 +405,95 @@ function d() {
335
405
  } }), Object.defineProperty(t, s, a);
336
406
  } : function(t, e, i, s) {
337
407
  s === void 0 && (s = i), t[s] = e[i];
338
- }), n = y && y.__exportStar || function(t, e) {
408
+ }), n = m && m.__exportStar || function(t, e) {
339
409
  for (var i in t)
340
410
  i !== "default" && !Object.prototype.hasOwnProperty.call(e, i) && o(e, t, i);
341
411
  };
342
- Object.defineProperty(r, "__esModule", { value: !0 }), n(ie(), r), n(ne(), r), n(ae(), r), n(p, r), n(se(), r), n(I, r), n(S, r), n(ce(), r), n(fe(), r), n(j, r), n(pe(), r), n(ve(), r), n(J, r), n(ge(), r);
343
- }(R)), R;
412
+ Object.defineProperty(r, "__esModule", { value: !0 }), n(ae(), r), n(se(), r), n(oe(), r), n(v, r), n(ue(), r), n(j, r), n(R, r), n(de(), r), n(le(), r), n(L, r), n(ge(), r), n(be(), r), n(Q, r), n(ye(), r);
413
+ }(q)), q;
344
414
  }
345
- var be = d(), ye = H();
346
- (0, be.attach)();
347
- var me = ye.Framebus;
348
- const v = /* @__PURE__ */ te(me), _e = {
415
+ var me = h(), _e = z();
416
+ (0, me.attach)();
417
+ var we = _e.Framebus;
418
+ const g = /* @__PURE__ */ ne(we), Ae = {
349
419
  isLoading: !0,
350
420
  invokeAction: async () => Promise.reject("Action functionality not initialized."),
351
421
  navigate: () => {
352
422
  }
353
- }, z = Z(_e), Fe = () => ee(z), we = (r) => {
354
- new v().emit("NAVIGATE", { ...r });
423
+ }, X = re(Ae), Fe = () => te(X), Te = (r) => {
424
+ new g().emit(l.NAVIGATE, { ...r });
355
425
  }, Pe = (r, o) => {
356
- new v().emit("INVOKE_DEFAULT_ACTION", {
357
- actionKey: "showModalDialog",
426
+ new g().emit(l.INVOKE_DEFAULT_ACTION, {
427
+ actionKey: x.showModalDialog,
358
428
  args: [r, o]
359
429
  });
360
- }, Ae = (r, o) => new v().emit("INVOKE_DEFAULT_ACTION", {
361
- actionKey: "showConfirmationDialog",
430
+ }, Ee = (r, o) => new g().emit(l.INVOKE_DEFAULT_ACTION, {
431
+ actionKey: x.showConfirmationDialog,
362
432
  args: [r, o]
363
433
  }), Oe = (r, o) => {
364
- new v().emit("INVOKE_DEFAULT_ACTION", {
365
- actionKey: "showToast",
434
+ new g().emit(l.INVOKE_DEFAULT_ACTION, {
435
+ actionKey: x.showToast,
366
436
  args: [r, o]
367
437
  });
368
- }, Me = (r, o) => {
369
- new v().emit("INVOKE_DEFAULT_ACTION", {
370
- actionKey: "showErrorMessage",
438
+ }, De = (r, o) => {
439
+ new g().emit(l.INVOKE_DEFAULT_ACTION, {
440
+ actionKey: x.showErrorMessage,
371
441
  args: [r, o]
372
442
  });
373
- }, Ee = ({ children: r, config: o }) => {
374
- const [, n] = C(void 0), [t, e] = C(void 0), [i, s] = C(
443
+ }, Ce = ({ children: r, config: o }) => {
444
+ const [, n] = S(void 0), [t, e] = S(void 0), [i, s] = S(
375
445
  void 0
376
- ), [a, u] = C(!0), c = (E, ...x) => new Promise((h, l) => {
377
- new v().emit("INVOKE_ACTION", { actionKey: E, args: x }, (b) => {
378
- b.success ? h(b.result) : l(new Error(b.error));
446
+ ), [a, u] = S(!0), c = (F, ...C) => new Promise((p, d) => {
447
+ new g().emit(l.INVOKE_ACTION, { actionKey: F, args: C }, (y) => {
448
+ y.success ? p(y.result) : d(new Error(y.error));
379
449
  });
380
450
  }), f = () => {
381
- const E = o;
382
- return Array.isArray(E.menu);
451
+ const F = o;
452
+ return Array.isArray(F.menu);
383
453
  };
384
- re(() => {
454
+ ie(() => {
385
455
  if (o.forceRedirect && !o.isDev && window.self === window.top) {
386
456
  console.error(
387
457
  "This app must be run inside an iframe when forceRedirect is true."
388
458
  );
389
459
  return;
390
460
  }
391
- const x = new URL(window.location.href).searchParams.get("c"), h = x ? new v({ channel: x }) : new v();
392
- return h.emit("REQUEST_DATA", { config: o }), h.on("DATA_RESPONSE", (l) => {
393
- e(l), u(!1);
394
- }), h.on("PARAMS_RESPONSE", (l) => {
395
- s(l);
396
- }), h.on("SET_APP_ID", (l) => {
397
- const { appId: m } = l;
398
- n(m);
399
- }), f() && h.on("NAVIGATE_CHILD", (l) => {
400
- const { path: m } = l, { navigation: b } = o;
401
- if (b) {
402
- const { navigate: X } = b;
403
- X({ path: m });
461
+ const C = new URL(window.location.href).searchParams.get("c"), p = C ? new g({ channel: C }) : new g();
462
+ if (p.emit(l.SET_CONFIG, { config: o }), p.on(l.SET_DATA, (d) => {
463
+ e(d), u(!1);
464
+ }), p.on(l.SET_PARAMS, (d) => {
465
+ s(d);
466
+ }), p.on(l.SET_APP_ID, (d) => {
467
+ const { appId: _ } = d;
468
+ n(_);
469
+ }), !f()) {
470
+ const d = document.getElementsByTagName("html")[0].offsetHeight;
471
+ d > 0 && window.name && p.emit(l.SET_HEIGHT, { height: d, id: window.name });
472
+ }
473
+ return f() && p.on(l.NAVIGATE_CHILD, (d) => {
474
+ const { path: _ } = d, { navigation: y } = o;
475
+ if (y) {
476
+ const { navigate: Z } = y;
477
+ Z({ path: _ });
404
478
  }
405
479
  }), () => {
406
- h.teardown();
480
+ p.teardown();
407
481
  };
408
482
  }, [o]);
409
- const Q = {
483
+ const Y = {
410
484
  data: t,
411
485
  params: i,
412
486
  isLoading: a,
413
487
  invokeAction: c,
414
- navigate: we,
488
+ navigate: Te,
415
489
  showModalDialog: Pe,
416
- showConfirmationDialog: Ae,
490
+ showConfirmationDialog: Ee,
417
491
  showToast: Oe,
418
- showErrorMessage: Me
492
+ showErrorMessage: De
419
493
  };
420
- return /* @__PURE__ */ Y(z.Provider, { value: Q, children: r });
494
+ return /* @__PURE__ */ ee(X.Provider, { value: Y, children: r });
421
495
  };
422
496
  export {
423
- Ee as AppClientProvider,
497
+ Ce as AppClientProvider,
424
498
  Fe as useAppClient
425
499
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@akinon/app-client",
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.5.0",
3
+ "description": "Akinon AppClient library. This library is used to create a new plugin or an application which will reside in Akinon's applications.",
4
+ "version": "0.5.3",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
@@ -11,20 +11,15 @@
11
11
  ],
12
12
  "dependencies": {
13
13
  "framebus": "^6.0.0",
14
- "postmate": "^1.5.2",
15
- "use-immer": "^0.9.0",
16
- "@akinon/app-shared": "^0.4.0"
14
+ "react": "^18.2.0",
15
+ "react-dom": "^18.2.0",
16
+ "@akinon/app-shared": "^0.5.1"
17
17
  },
18
18
  "devDependencies": {
19
- "@types/postmate": "^1.5.3",
20
19
  "clean-package": "2.2.0",
21
20
  "@akinon/vite-config": "^0.1.1",
22
- "tsconfig": "0.0.0",
23
- "eslint-config-custom": "0.1.0"
24
- },
25
- "peerDependencies": {
26
- "react": "18.x",
27
- "react-dom": "18.x"
21
+ "eslint-config-custom": "0.1.0",
22
+ "tsconfig": "0.0.0"
28
23
  },
29
24
  "clean-package": "../../clean-package.config.json",
30
25
  "types": "dist/index.d.ts",