@valiantys/atlassian-app-frontend 3.0.0-alpha-21 → 3.0.0-alpha-22

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 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),i=require("@forge/bridge"),o=require("../../../../../../forge/shared/frontend-data-access-product-fetch-forge-bridge/src/lib/forge-bridge-product-fetch/index.cjs.js"),a=require("../../../../../../forge/shared/frontend-ui-app-flags/src/lib/app-flags-provider-forge/index.cjs.js"),d=require("../../../../../frontend-feature-chosen-workspace-check/src/lib/feature-chosen-workspace-check/index.cjs.js");require("../../../../../frontend-feature-chosen-workspace-check/src/lib/jira-workspace-provider/index.cjs.js");require("../../../../../frontend-ui-app-flags/src/lib/app-flags-dispatch/index.cjs.js");const q=require("../../../../../frontend-ui-app-flags/src/lib/app-flags-provider-atlaskit/index.cjs.js"),p=require("../../../../../frontend-ui-atlassian-product-fetch/src/lib/request-bitbucket/index.cjs.js"),v=require("../../../../../frontend-ui-atlassian-product-fetch/src/lib/request-confluence/index.cjs.js"),h=require("../../../../../frontend-ui-atlassian-product-fetch/src/lib/request-jira/index.cjs.js");require("@atlaskit/button/new");require("react");const F=require("../../../../../frontend-ui-host-router/src/lib/host-router-provider/index.cjs.js");require("../../../../../frontend-ui-modal/src/lib/modal-content/index.cjs.js");require("@atlaskit/heading");require("@atlaskit/primitives");const g=require("../../../../../frontend-ui-modal/src/lib/modal-service-provider/index.cjs.js");require("../../../../../frontend-ui-view-context/src/lib/view-context-provider/index.cjs.js");const m=require("../../../../../frontend-ui-remote-adapter/src/lib/remote-adapter/index.cjs.js"),P=require("../../ui-kit/atlassian-app-forge-ui-kit/index.cjs.js"),S=o.createClientSideForgeProductFetchService("jira"),j=o.createClientSideForgeProductFetchService("bitbucket"),A=o.createClientSideForgeProductFetchService("confluence"),f={open(t){return new i.Modal(t).open()}};function c({appName:t,doCheckWorkspace:n,invokeRemoteImpl:s,useAtlasKitFlags:u,children:l}){let r=l;return n&&(r=e.jsx(d.FeatureChosenWorkspaceCheck,{appName:t,children:r})),r=e.jsx(m.RemoteAdapterProvider,{invokeRemoteImplementation:s||i.invokeRemote,children:e.jsx(P.AtlassianAppForgeUiKit,{children:e.jsx(F.HostRouterProvider,{hostRouter:i.router,children:e.jsx(p.RequestBitbucketProvider,{requestBitbucketImplementation:j,children:e.jsx(v.RequestConfluenceProvider,{requestConfluenceImplementation:A,children:e.jsx(h.RequestJiraProvider,{requestJiraImplementation:S,children:e.jsx(g.ModalServiceProvider,{modalService:f,children:r})})})})})})}),u?e.jsx(q.AppFlagsProviderAtlasKit,{children:r}):e.jsx(a.AppFlagsProviderForge,{children:r})}exports.AtlassianAppForge=c;exports.default=c;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),i=require("@forge/bridge"),o=require("../../../../../../forge/shared/frontend-data-access-product-fetch-forge-bridge/src/lib/forge-bridge-product-fetch/index.cjs.js"),a=require("../../../../../../forge/shared/frontend-ui-app-flags/src/lib/app-flags-provider-forge/index.cjs.js"),d=require("../../../../../frontend-feature-chosen-workspace-check/src/lib/feature-chosen-workspace-check/index.cjs.js");require("../../../../../frontend-feature-chosen-workspace-check/src/lib/jira-workspace-provider/index.cjs.js");require("../../../../../frontend-ui-app-flags/src/lib/app-flags-dispatch/index.cjs.js");const q=require("../../../../../frontend-ui-app-flags/src/lib/app-flags-provider-atlaskit/index.cjs.js"),p=require("../../../../../frontend-ui-atlassian-product-fetch/src/lib/request-bitbucket/index.cjs.js"),v=require("../../../../../frontend-ui-atlassian-product-fetch/src/lib/request-confluence/index.cjs.js"),h=require("../../../../../frontend-ui-atlassian-product-fetch/src/lib/request-jira/index.cjs.js");require("@atlaskit/button/new");require("react");const F=require("../../../../../frontend-ui-host-router/src/lib/host-router-provider/index.cjs.js");require("../../../../../frontend-ui-modal/src/lib/modal-content/index.cjs.js");require("@atlaskit/heading");require("@atlaskit/primitives");require("../../../../../frontend-ui-iframe/src/lib/iframe-wrapper/index.cjs.js");const g=require("../../../../../frontend-ui-modal/src/lib/modal-service-provider/index.cjs.js");require("../../../../../frontend-ui-view-context/src/lib/view-context-provider/index.cjs.js");const m=require("../../../../../frontend-ui-remote-adapter/src/lib/remote-adapter/index.cjs.js"),P=require("../../ui-kit/atlassian-app-forge-ui-kit/index.cjs.js"),S=o.createClientSideForgeProductFetchService("jira"),j=o.createClientSideForgeProductFetchService("bitbucket"),A=o.createClientSideForgeProductFetchService("confluence"),f={open(t){return new i.Modal(t).open()}};function c({appName:t,doCheckWorkspace:n,invokeRemoteImpl:s,useAtlasKitFlags:u,children:l}){let r=l;return n&&(r=e.jsx(d.FeatureChosenWorkspaceCheck,{appName:t,children:r})),r=e.jsx(m.RemoteAdapterProvider,{invokeRemoteImplementation:s||i.invokeRemote,children:e.jsx(P.AtlassianAppForgeUiKit,{children:e.jsx(F.HostRouterProvider,{hostRouter:i.router,children:e.jsx(p.RequestBitbucketProvider,{requestBitbucketImplementation:j,children:e.jsx(v.RequestConfluenceProvider,{requestConfluenceImplementation:A,children:e.jsx(h.RequestJiraProvider,{requestJiraImplementation:S,children:e.jsx(g.ModalServiceProvider,{modalService:f,children:r})})})})})})}),u?e.jsx(q.AppFlagsProviderAtlasKit,{children:r}):e.jsx(a.AppFlagsProviderForge,{children:r})}exports.AtlassianAppForge=c;exports.default=c;
@@ -15,6 +15,7 @@ import { HostRouterProvider as F } from "../../../../../frontend-ui-host-router/
15
15
  import "../../../../../frontend-ui-modal/src/lib/modal-content/index.es.js";
16
16
  import "@atlaskit/heading";
17
17
  import "@atlaskit/primitives";
18
+ import "../../../../../frontend-ui-iframe/src/lib/iframe-wrapper/index.es.js";
18
19
  import { ModalServiceProvider as P } from "../../../../../frontend-ui-modal/src/lib/modal-service-provider/index.es.js";
19
20
  import "../../../../../frontend-ui-view-context/src/lib/view-context-provider/index.es.js";
20
21
  import { RemoteAdapterProvider as k } from "../../../../../frontend-ui-remote-adapter/src/lib/remote-adapter/index.es.js";
@@ -24,7 +25,7 @@ const R = t("jira"), S = t("bitbucket"), g = t("confluence"), b = {
24
25
  return new d(o).open();
25
26
  }
26
27
  };
27
- function Q({
28
+ function T({
28
29
  appName: o,
29
30
  doCheckWorkspace: i,
30
31
  invokeRemoteImpl: m,
@@ -53,6 +54,6 @@ function Q({
53
54
  ), n ? /* @__PURE__ */ e(u, { children: r }) : /* @__PURE__ */ e(a, { children: r });
54
55
  }
55
56
  export {
56
- Q as AtlassianAppForge,
57
- Q as default
57
+ T as AtlassianAppForge,
58
+ T as default
58
59
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),g=require("@atlaskit/app-provider"),o=require("react"),S=require("../../../../../data-access-atlassian-product-fetch-oauth/src/lib/atlassian-oauth-fetch/index.cjs.js"),B=require("../../../../../data-access-resources/src/lib/atlassian-user-resource-service/index.cjs.js"),O=require("../../../../../frontend-feature-chosen-workspace-check/src/lib/feature-chosen-workspace-check/index.cjs.js");require("../../../../../frontend-feature-chosen-workspace-check/src/lib/jira-workspace-provider/index.cjs.js");const P=require("../../../../../frontend-feature-oauth-login/src/lib/feature-oauth/index.cjs.js");require("../../../../../frontend-feature-oauth-login/src/lib/oauth-routes/index.cjs.js");require("@atlaskit/heading");require("@atlaskit/primitives");require("@atlaskit/section-message");require("@atlaskit/spinner");require("../../../../../frontend-ui-app-flags/src/lib/app-flags-dispatch/index.cjs.js");const W=require("../../../../../frontend-ui-app-flags/src/lib/app-flags-provider-atlaskit/index.cjs.js"),J=require("../../../../../frontend-ui-atlassian-product-fetch/src/lib/request-bitbucket/index.cjs.js"),T=require("../../../../../frontend-ui-atlassian-product-fetch/src/lib/request-confluence/index.cjs.js"),E=require("../../../../../frontend-ui-atlassian-product-fetch/src/lib/request-jira/index.cjs.js"),y=require("../../../../../frontend-ui-backend-adapter/src/lib/backend-adapter/index.cjs.js"),M=require("../../../../../frontend-ui-backend-adapter/src/lib/oauth-fetch-invoke/index.cjs.js"),H=require("../../../../../frontend-ui-host-router/src/lib/host-router/index.cjs.js");require("@atlaskit/button/new");const _=require("../../../../../frontend-ui-host-router/src/lib/host-router-provider/index.cjs.js");require("../../../../../frontend-ui-modal/src/lib/modal-content/index.cjs.js");const $=require("../../../../../frontend-ui-modal/src/lib/modal-service/index.cjs.js"),z=require("../../../../../frontend-ui-modal/src/lib/modal-service-provider/index.cjs.js"),K=require("../../../../../frontend-ui-modal/src/lib/modal-view-context/index.cjs.js"),U=require("../../../../../frontend-ui-remote-adapter/src/lib/remote-adapter/index.cjs.js"),D=require("../../../../../frontend-ui-remote-adapter/src/lib/oauth-fetch-invoke-remote/index.cjs.js"),G=require("../../../../../frontend-ui-view-context/src/lib/view-context-provider/index.cjs.js"),L=require("../../../../../frontend-ui-view-context/src/lib/mock-view-context/index.cjs.js"),Q=o.lazy(()=>Promise.resolve().then(()=>require("../../../../../frontend-feature-chosen-resource-check/src/index/index.cjs.js")));function R({initialMockViewContext:c,backendUrl:u,remoteUrl:h,doCheckWorkspace:A,appName:i,doCheckResource:l,modalOpenerConfig:d,modalContextConfig:q,oauthConfig:n,atlassianResourceId:x,children:t}){const v=r.jsx(X,{appName:i,backendUrl:u,remoteUrl:h,initialMockViewContext:c,modalOpenerConfig:d,modalContextConfig:q,doCheckWorkspace:A,doCheckResource:l,oauthConfig:n,atlassianResourceId:x,children:t});return n?r.jsx(P.OAuthProvider,{clientId:n.clientId,codeTokenExchangeUrl:n.codeTokenExchangeUrl,appName:i,oAuthScopes:n.oAuthScopes,appBaseContext:n.appBaseContext,children:v}):v}function X({initialMockViewContext:c,backendUrl:u,remoteUrl:h,doCheckWorkspace:A,appName:i,doCheckResource:l,modalOpenerConfig:d,modalContextConfig:q,atlassianResourceId:n,children:x}){const[t,v]=o.useState(n),[a,j]=o.useState(),{getAuthToken:s}=P.useOAuth(),f=o.useCallback(()=>S.atlassianOAuthJiraFetch(s(),t??""),[s,t]),C=o.useCallback(()=>S.atlassianOAuthConfluenceFetch(s(),t??""),[s,t]),F=o.useCallback(()=>S.atlassianOAuthBitbucketFetch(s()),[s]),w=o.useCallback(async p=>{if(u&&l){const I=p??localStorage.getItem(`${i}-user-resource-id`)??"",k=await new B.AtlassianUserResourceService().checkUserChosenResource(s(),I);return k.hasChosen&&(localStorage.setItem(`${i}-user-resource-id`,k.resource.id),v(k.resource.id)),k}else return{hasChosen:!0}},[u,s,i,l]);o.useEffect(()=>{const p=t??(c==null?void 0:c.cloudId)??"";if(!a||a.cloudId!==p){const I={...a||c,cloudId:p};j(I)}},[c,t,a]);const b=o.useCallback(()=>u?M.getOauthFetchInvokeImpl(u,s(),t??""):void 0,[t,s,u]);let e=x;A&&(e=r.jsx(O.FeatureChosenWorkspaceCheck,{appName:i,children:e})),d&&(e=r.jsx(z.ModalServiceProvider,{modalService:new $.WindowModalService(d.defaultUrl,d.resourceMap),children:e})),a&&(e=r.jsx(G.ViewContextProvider,{viewContext:q?new K.ModalViewContext(a,q.openerOrigin):new L.MockViewContext(a),children:e})),e=r.jsx(_.HostRouterProvider,{hostRouter:new H.WindowHostRouter,children:r.jsx(J.RequestBitbucketProvider,{requestBitbucketImplementation:F(),children:r.jsx(T.RequestConfluenceProvider,{requestConfluenceImplementation:C(),children:r.jsx(E.RequestJiraProvider,{requestJiraImplementation:f(),children:e})})})});const m=b();return m&&(e=r.jsx(y.BackendAdapterProvider,{invokeImplementation:m,children:e})),h&&(e=r.jsx(U.RemoteAdapterProvider,{invokeRemoteImplementation:D.oauthFetchInvokeRemote(h),children:e})),l&&(e=r.jsx(Q,{checkResource:w,children:e})),r.jsx(g,{children:r.jsx(W.AppFlagsProviderAtlasKit,{children:e})})}exports.AtlassianAppStandalone=R;exports.default=R;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),g=require("@atlaskit/app-provider"),o=require("react"),S=require("../../../../../data-access-atlassian-product-fetch-oauth/src/lib/atlassian-oauth-fetch/index.cjs.js"),B=require("../../../../../data-access-resources/src/lib/atlassian-user-resource-service/index.cjs.js"),O=require("../../../../../frontend-feature-chosen-workspace-check/src/lib/feature-chosen-workspace-check/index.cjs.js");require("../../../../../frontend-feature-chosen-workspace-check/src/lib/jira-workspace-provider/index.cjs.js");const P=require("../../../../../frontend-feature-oauth-login/src/lib/feature-oauth/index.cjs.js");require("../../../../../frontend-feature-oauth-login/src/lib/oauth-routes/index.cjs.js");require("@atlaskit/heading");require("@atlaskit/primitives");require("@atlaskit/section-message");require("@atlaskit/spinner");require("../../../../../frontend-ui-app-flags/src/lib/app-flags-dispatch/index.cjs.js");const W=require("../../../../../frontend-ui-app-flags/src/lib/app-flags-provider-atlaskit/index.cjs.js"),J=require("../../../../../frontend-ui-atlassian-product-fetch/src/lib/request-bitbucket/index.cjs.js"),T=require("../../../../../frontend-ui-atlassian-product-fetch/src/lib/request-confluence/index.cjs.js"),E=require("../../../../../frontend-ui-atlassian-product-fetch/src/lib/request-jira/index.cjs.js"),y=require("../../../../../frontend-ui-backend-adapter/src/lib/backend-adapter/index.cjs.js"),M=require("../../../../../frontend-ui-backend-adapter/src/lib/oauth-fetch-invoke/index.cjs.js"),H=require("../../../../../frontend-ui-host-router/src/lib/host-router/index.cjs.js");require("@atlaskit/button/new");const _=require("../../../../../frontend-ui-host-router/src/lib/host-router-provider/index.cjs.js");require("../../../../../frontend-ui-modal/src/lib/modal-content/index.cjs.js");require("../../../../../frontend-ui-iframe/src/lib/iframe-wrapper/index.cjs.js");const $=require("../../../../../frontend-ui-modal/src/lib/modal-service/index.cjs.js"),z=require("../../../../../frontend-ui-modal/src/lib/modal-service-provider/index.cjs.js"),K=require("../../../../../frontend-ui-modal/src/lib/modal-view-context/index.cjs.js"),U=require("../../../../../frontend-ui-remote-adapter/src/lib/remote-adapter/index.cjs.js"),D=require("../../../../../frontend-ui-remote-adapter/src/lib/oauth-fetch-invoke-remote/index.cjs.js"),G=require("../../../../../frontend-ui-view-context/src/lib/view-context-provider/index.cjs.js"),L=require("../../../../../frontend-ui-view-context/src/lib/mock-view-context/index.cjs.js"),Q=o.lazy(()=>Promise.resolve().then(()=>require("../../../../../frontend-feature-chosen-resource-check/src/index/index.cjs.js")));function R({initialMockViewContext:c,backendUrl:u,remoteUrl:h,doCheckWorkspace:A,appName:i,doCheckResource:l,modalOpenerConfig:d,modalContextConfig:q,oauthConfig:n,atlassianResourceId:x,children:t}){const v=r.jsx(X,{appName:i,backendUrl:u,remoteUrl:h,initialMockViewContext:c,modalOpenerConfig:d,modalContextConfig:q,doCheckWorkspace:A,doCheckResource:l,oauthConfig:n,atlassianResourceId:x,children:t});return n?r.jsx(P.OAuthProvider,{clientId:n.clientId,codeTokenExchangeUrl:n.codeTokenExchangeUrl,appName:i,oAuthScopes:n.oAuthScopes,appBaseContext:n.appBaseContext,children:v}):v}function X({initialMockViewContext:c,backendUrl:u,remoteUrl:h,doCheckWorkspace:A,appName:i,doCheckResource:l,modalOpenerConfig:d,modalContextConfig:q,atlassianResourceId:n,children:x}){const[t,v]=o.useState(n),[a,j]=o.useState(),{getAuthToken:s}=P.useOAuth(),f=o.useCallback(()=>S.atlassianOAuthJiraFetch(s(),t??""),[s,t]),C=o.useCallback(()=>S.atlassianOAuthConfluenceFetch(s(),t??""),[s,t]),F=o.useCallback(()=>S.atlassianOAuthBitbucketFetch(s()),[s]),w=o.useCallback(async p=>{if(u&&l){const I=p??localStorage.getItem(`${i}-user-resource-id`)??"",k=await new B.AtlassianUserResourceService().checkUserChosenResource(s(),I);return k.hasChosen&&(localStorage.setItem(`${i}-user-resource-id`,k.resource.id),v(k.resource.id)),k}else return{hasChosen:!0}},[u,s,i,l]);o.useEffect(()=>{const p=t??(c==null?void 0:c.cloudId)??"";if(!a||a.cloudId!==p){const I={...a||c,cloudId:p};j(I)}},[c,t,a]);const b=o.useCallback(()=>u?M.getOauthFetchInvokeImpl(u,s(),t??""):void 0,[t,s,u]);let e=x;A&&(e=r.jsx(O.FeatureChosenWorkspaceCheck,{appName:i,children:e})),d&&(e=r.jsx(z.ModalServiceProvider,{modalService:new $.WindowModalService(d.defaultUrl,d.resourceMap),children:e})),a&&(e=r.jsx(G.ViewContextProvider,{viewContext:q?new K.ModalViewContext(a,q.openerOrigin):new L.MockViewContext(a),children:e})),e=r.jsx(_.HostRouterProvider,{hostRouter:new H.WindowHostRouter,children:r.jsx(J.RequestBitbucketProvider,{requestBitbucketImplementation:F(),children:r.jsx(T.RequestConfluenceProvider,{requestConfluenceImplementation:C(),children:r.jsx(E.RequestJiraProvider,{requestJiraImplementation:f(),children:e})})})});const m=b();return m&&(e=r.jsx(y.BackendAdapterProvider,{invokeImplementation:m,children:e})),h&&(e=r.jsx(U.RemoteAdapterProvider,{invokeRemoteImplementation:D.oauthFetchInvokeRemote(h),children:e})),l&&(e=r.jsx(Q,{checkResource:w,children:e})),r.jsx(g,{children:r.jsx(W.AppFlagsProviderAtlasKit,{children:e})})}exports.AtlassianAppStandalone=R;exports.default=R;
@@ -22,6 +22,7 @@ import { WindowHostRouter as G } from "../../../../../frontend-ui-host-router/sr
22
22
  import "@atlaskit/button/new";
23
23
  import { HostRouterProvider as L } from "../../../../../frontend-ui-host-router/src/lib/host-router-provider/index.es.js";
24
24
  import "../../../../../frontend-ui-modal/src/lib/modal-content/index.es.js";
25
+ import "../../../../../frontend-ui-iframe/src/lib/iframe-wrapper/index.es.js";
25
26
  import { WindowModalService as Q } from "../../../../../frontend-ui-modal/src/lib/modal-service/index.es.js";
26
27
  import { ModalServiceProvider as U } from "../../../../../frontend-ui-modal/src/lib/modal-service-provider/index.es.js";
27
28
  import { ModalViewContext as X } from "../../../../../frontend-ui-modal/src/lib/modal-view-context/index.es.js";
@@ -32,7 +33,7 @@ import { MockViewContext as V } from "../../../../../frontend-ui-view-context/sr
32
33
  const N = O(
33
34
  () => import("../../../../../frontend-feature-chosen-resource-check/src/index/index.es.js")
34
35
  );
35
- function Ee({
36
+ function Je({
36
37
  initialMockViewContext: i,
37
38
  backendUrl: c,
38
39
  remoteUrl: l,
@@ -162,6 +163,6 @@ function ee({
162
163
  )), p && (e = /* @__PURE__ */ r(N, { checkResource: q, children: e })), /* @__PURE__ */ r(g, { children: /* @__PURE__ */ r(b, { children: e }) });
163
164
  }
164
165
  export {
165
- Ee as AtlassianAppStandalone,
166
- Ee as default
166
+ Je as AtlassianAppStandalone,
167
+ Je as default
167
168
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),t=require("react"),w=require("../../../../../../shared/frontend-ui-window-listener-hook/src/lib/window-listener-hook/index.cjs.js"),W=require("../iframe-wrapper.module.scss/index.cjs.js");function R({iframeProps:e,messageCallback:c,onMouseOut:i}){const[o,r]=t.useState(),s=t.useRef(!1),d=t.useRef(!1),u=t.useRef(null),g=t.useCallback(n=>{var h;n.source===((h=u.current)==null?void 0:h.contentWindow)&&c&&c(n.data)},[c]);return w.useWindowListener("message",g),t.useEffect(()=>{(async()=>e!=null&&e.height&&(console.log("IframeWrapper: Setting height to",e.height),r(e.height)))()},[e]),t.useEffect(()=>{(async()=>{var n;!d.current&&((n=u.current)!=null&&n.contentWindow)&&(u.current.contentWindow.focus(),d.current=!0)})()}),l.jsx("div",{className:W["iframe-wrapper"],children:l.jsx("iframe",{title:e==null?void 0:e.title,ref:u,width:e==null?void 0:e.width,height:o,src:e==null?void 0:e.link,onMouseEnter:()=>s.current=!0,onMouseOut:()=>{s.current&&i&&i()}})})}exports.IframeWrapper=R;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),n=require("react"),g=require("../../../../../../shared/frontend-ui-window-listener-hook/src/lib/window-listener-hook/index.cjs.js"),f=require("../iframe-wrapper.module.scss/index.cjs.js"),R=n.forwardRef(({iframeProps:e,messageCallback:o,onMouseOut:i},l)=>{const[h,w]=n.useState(),d=n.useRef(!1),r=n.useRef(!1),u=n.useRef(null);n.useImperativeHandle(l,()=>({reloadContentWindow:()=>{var t,c;return(c=(t=u.current)==null?void 0:t.contentWindow)==null?void 0:c.location.reload()},focusContentWindow:()=>{var t,c;return(c=(t=u.current)==null?void 0:t.contentWindow)==null?void 0:c.focus()}}));const W=n.useCallback(t=>{var c;t.source===((c=u.current)==null?void 0:c.contentWindow)&&o&&o(t.data)},[o]);return g.useWindowListener("message",W),n.useEffect(()=>{(async()=>e!=null&&e.height&&(console.log("IframeWrapper: Setting height to",e.height),w(e.height)))()},[e]),n.useEffect(()=>{(async()=>{var t;!r.current&&((t=u.current)!=null&&t.contentWindow)&&(u.current.contentWindow.focus(),r.current=!0)})()}),s.jsx("div",{className:f["iframe-wrapper"],children:s.jsx("iframe",{title:e==null?void 0:e.title,ref:u,width:e==null?void 0:e.width,height:h,src:e==null?void 0:e.link,onMouseEnter:()=>d.current=!0,onMouseOut:()=>{d.current&&i&&i()}})})});exports.IframeWrapper=R;
@@ -1,41 +1,53 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { useState as y, useRef as u, useCallback as I, useEffect as g } from "react";
3
- import { useWindowListener as R } from "../../../../../../shared/frontend-ui-window-listener-hook/src/lib/window-listener-hook/index.es.js";
4
- import f from "../iframe-wrapper.module.scss/index.es.js";
5
- function j({
6
- iframeProps: t,
7
- messageCallback: c,
8
- onMouseOut: h
9
- }) {
10
- const [s, w] = y(), i = u(!1), d = u(!1), e = u(null), W = I(
11
- (n) => {
12
- var l;
13
- n.source === ((l = e.current) == null ? void 0 : l.contentWindow) && c && c(n.data);
14
- },
15
- [c]
16
- );
17
- return R("message", W), g(() => {
18
- (async () => t != null && t.height && (console.log("IframeWrapper: Setting height to", t.height), w(t.height)))();
19
- }, [t]), g(() => {
20
- (async () => {
21
- var n;
22
- !d.current && ((n = e.current) != null && n.contentWindow) && (e.current.contentWindow.focus(), d.current = !0);
23
- })();
24
- }), /* @__PURE__ */ o("div", { className: f["iframe-wrapper"], children: /* @__PURE__ */ o(
25
- "iframe",
26
- {
27
- title: t == null ? void 0 : t.title,
28
- ref: e,
29
- width: t == null ? void 0 : t.width,
30
- height: s,
31
- src: t == null ? void 0 : t.link,
32
- onMouseEnter: () => i.current = !0,
33
- onMouseOut: () => {
34
- i.current && h && h();
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { forwardRef as f, useState as I, useRef as o, useImperativeHandle as R, useCallback as y, useEffect as w } from "react";
3
+ import { useWindowListener as x } from "../../../../../../shared/frontend-ui-window-listener-hook/src/lib/window-listener-hook/index.es.js";
4
+ import E from "../iframe-wrapper.module.scss/index.es.js";
5
+ const v = f(
6
+ ({ iframeProps: t, messageCallback: u, onMouseOut: d }, s) => {
7
+ const [r, W] = I(), i = o(!1), h = o(!1), c = o(null);
8
+ R(
9
+ s,
10
+ () => ({
11
+ reloadContentWindow: () => {
12
+ var n, e;
13
+ return (e = (n = c.current) == null ? void 0 : n.contentWindow) == null ? void 0 : e.location.reload();
14
+ },
15
+ focusContentWindow: () => {
16
+ var n, e;
17
+ return (e = (n = c.current) == null ? void 0 : n.contentWindow) == null ? void 0 : e.focus();
18
+ }
19
+ })
20
+ );
21
+ const g = y(
22
+ (n) => {
23
+ var e;
24
+ n.source === ((e = c.current) == null ? void 0 : e.contentWindow) && u && u(n.data);
25
+ },
26
+ [u]
27
+ );
28
+ return x("message", g), w(() => {
29
+ (async () => t != null && t.height && (console.log("IframeWrapper: Setting height to", t.height), W(t.height)))();
30
+ }, [t]), w(() => {
31
+ (async () => {
32
+ var n;
33
+ !h.current && ((n = c.current) != null && n.contentWindow) && (c.current.contentWindow.focus(), h.current = !0);
34
+ })();
35
+ }), /* @__PURE__ */ l("div", { className: E["iframe-wrapper"], children: /* @__PURE__ */ l(
36
+ "iframe",
37
+ {
38
+ title: t == null ? void 0 : t.title,
39
+ ref: c,
40
+ width: t == null ? void 0 : t.width,
41
+ height: r,
42
+ src: t == null ? void 0 : t.link,
43
+ onMouseEnter: () => i.current = !0,
44
+ onMouseOut: () => {
45
+ i.current && d && d();
46
+ }
35
47
  }
36
- }
37
- ) });
38
- }
48
+ ) });
49
+ }
50
+ );
39
51
  export {
40
- j as IframeWrapper
52
+ v as IframeWrapper
41
53
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@valiantys/atlassian-app-frontend",
3
- "version": "3.0.0-alpha-21",
3
+ "version": "3.0.0-alpha-22",
4
4
  "description": "This library provides an Atlassian Forge Custom UI wrapper component that handles all the setup necessary to support an app that can run deployed or in standalone mode",
5
5
  "exports": {
6
6
  "./atlassian-app": {
@@ -299,76 +299,231 @@
299
299
  "extendsTokenRanges": []
300
300
  },
301
301
  {
302
- "kind": "Function",
303
- "canonicalReference": "@valiantys/atlassian-app-frontend!IframeWrapper:function(1)",
302
+ "kind": "Variable",
303
+ "canonicalReference": "@valiantys/atlassian-app-frontend!IframeWrapper:var",
304
304
  "docComment": "",
305
305
  "excerptTokens": [
306
306
  {
307
307
  "kind": "Content",
308
- "text": "export declare function IframeWrapper<T>({ iframeProps, messageCallback, onMouseOut, }: "
308
+ "text": "IframeWrapper: "
309
+ },
310
+ {
311
+ "kind": "Reference",
312
+ "text": "React.ForwardRefExoticComponent",
313
+ "canonicalReference": "@types/react!React.ForwardRefExoticComponent:interface"
309
314
  },
310
315
  {
311
316
  "kind": "Content",
312
- "text": "{\n iframeProps: "
317
+ "text": "<"
313
318
  },
314
319
  {
315
320
  "kind": "Reference",
316
- "text": "IframeProps",
317
- "canonicalReference": "@valiantys/atlassian-app-frontend!IframeProps:interface"
321
+ "text": "Readonly",
322
+ "canonicalReference": "!Readonly:type"
318
323
  },
319
324
  {
320
325
  "kind": "Content",
321
- "text": ";\n messageCallback?: (eventData: T) => void;\n onMouseOut?: () => void;\n}"
326
+ "text": "<"
322
327
  },
323
328
  {
324
- "kind": "Content",
325
- "text": "): "
329
+ "kind": "Reference",
330
+ "text": "IframeWrapperProps",
331
+ "canonicalReference": "@valiantys/atlassian-app-frontend!IframeWrapperProps:interface"
326
332
  },
327
333
  {
328
334
  "kind": "Content",
329
- "text": "import(\"react/jsx-runtime\")."
335
+ "text": "> & "
330
336
  },
331
337
  {
332
338
  "kind": "Reference",
333
- "text": "JSX.Element",
334
- "canonicalReference": "@types/react!JSX.Element:interface"
339
+ "text": "React.RefAttributes",
340
+ "canonicalReference": "@types/react!React.RefAttributes:interface"
335
341
  },
336
342
  {
337
343
  "kind": "Content",
338
- "text": ";"
344
+ "text": "<unknown>>"
345
+ }
346
+ ],
347
+ "fileUrlPath": "../../shared/frontend-ui-iframe/src/lib/iframe-wrapper.d.ts",
348
+ "isReadonly": true,
349
+ "releaseTag": "Public",
350
+ "name": "IframeWrapper",
351
+ "variableTypeTokenRange": {
352
+ "startIndex": 1,
353
+ "endIndex": 9
354
+ }
355
+ },
356
+ {
357
+ "kind": "Interface",
358
+ "canonicalReference": "@valiantys/atlassian-app-frontend!IframeWrapperProps:interface",
359
+ "docComment": "",
360
+ "excerptTokens": [
361
+ {
362
+ "kind": "Content",
363
+ "text": "export interface IframeWrapperProps "
339
364
  }
340
365
  ],
341
366
  "fileUrlPath": "../../shared/frontend-ui-iframe/src/lib/iframe-wrapper.d.ts",
342
- "returnTypeTokenRange": {
343
- "startIndex": 5,
344
- "endIndex": 7
345
- },
346
367
  "releaseTag": "Public",
347
- "overloadIndex": 1,
348
- "parameters": [
368
+ "name": "IframeWrapperProps",
369
+ "preserveMemberOrder": false,
370
+ "members": [
349
371
  {
350
- "parameterName": "{ iframeProps, messageCallback, onMouseOut, }",
351
- "parameterTypeTokenRange": {
372
+ "kind": "PropertySignature",
373
+ "canonicalReference": "@valiantys/atlassian-app-frontend!IframeWrapperProps#iframeProps:member",
374
+ "docComment": "",
375
+ "excerptTokens": [
376
+ {
377
+ "kind": "Content",
378
+ "text": "iframeProps: "
379
+ },
380
+ {
381
+ "kind": "Reference",
382
+ "text": "IframeProps",
383
+ "canonicalReference": "@valiantys/atlassian-app-frontend!IframeProps:interface"
384
+ },
385
+ {
386
+ "kind": "Content",
387
+ "text": ";"
388
+ }
389
+ ],
390
+ "isReadonly": false,
391
+ "isOptional": false,
392
+ "releaseTag": "Public",
393
+ "name": "iframeProps",
394
+ "propertyTypeTokenRange": {
352
395
  "startIndex": 1,
353
- "endIndex": 4
354
- },
355
- "isOptional": false
396
+ "endIndex": 2
397
+ }
398
+ },
399
+ {
400
+ "kind": "PropertySignature",
401
+ "canonicalReference": "@valiantys/atlassian-app-frontend!IframeWrapperProps#messageCallback:member",
402
+ "docComment": "",
403
+ "excerptTokens": [
404
+ {
405
+ "kind": "Content",
406
+ "text": "messageCallback?: "
407
+ },
408
+ {
409
+ "kind": "Content",
410
+ "text": "(eventData: any) => void"
411
+ },
412
+ {
413
+ "kind": "Content",
414
+ "text": ";"
415
+ }
416
+ ],
417
+ "isReadonly": false,
418
+ "isOptional": true,
419
+ "releaseTag": "Public",
420
+ "name": "messageCallback",
421
+ "propertyTypeTokenRange": {
422
+ "startIndex": 1,
423
+ "endIndex": 2
424
+ }
425
+ },
426
+ {
427
+ "kind": "PropertySignature",
428
+ "canonicalReference": "@valiantys/atlassian-app-frontend!IframeWrapperProps#onMouseOut:member",
429
+ "docComment": "",
430
+ "excerptTokens": [
431
+ {
432
+ "kind": "Content",
433
+ "text": "onMouseOut?: "
434
+ },
435
+ {
436
+ "kind": "Content",
437
+ "text": "() => void"
438
+ },
439
+ {
440
+ "kind": "Content",
441
+ "text": ";"
442
+ }
443
+ ],
444
+ "isReadonly": false,
445
+ "isOptional": true,
446
+ "releaseTag": "Public",
447
+ "name": "onMouseOut",
448
+ "propertyTypeTokenRange": {
449
+ "startIndex": 1,
450
+ "endIndex": 2
451
+ }
356
452
  }
357
453
  ],
358
- "typeParameters": [
454
+ "extendsTokenRanges": []
455
+ },
456
+ {
457
+ "kind": "Interface",
458
+ "canonicalReference": "@valiantys/atlassian-app-frontend!IframeWrapperRef:interface",
459
+ "docComment": "",
460
+ "excerptTokens": [
461
+ {
462
+ "kind": "Content",
463
+ "text": "export interface IframeWrapperRef "
464
+ }
465
+ ],
466
+ "fileUrlPath": "../../shared/frontend-ui-iframe/src/lib/iframe-wrapper.d.ts",
467
+ "releaseTag": "Public",
468
+ "name": "IframeWrapperRef",
469
+ "preserveMemberOrder": false,
470
+ "members": [
471
+ {
472
+ "kind": "PropertySignature",
473
+ "canonicalReference": "@valiantys/atlassian-app-frontend!IframeWrapperRef#focusContentWindow:member",
474
+ "docComment": "",
475
+ "excerptTokens": [
476
+ {
477
+ "kind": "Content",
478
+ "text": "focusContentWindow: "
479
+ },
480
+ {
481
+ "kind": "Content",
482
+ "text": "() => void"
483
+ },
484
+ {
485
+ "kind": "Content",
486
+ "text": ";"
487
+ }
488
+ ],
489
+ "isReadonly": false,
490
+ "isOptional": false,
491
+ "releaseTag": "Public",
492
+ "name": "focusContentWindow",
493
+ "propertyTypeTokenRange": {
494
+ "startIndex": 1,
495
+ "endIndex": 2
496
+ }
497
+ },
359
498
  {
360
- "typeParameterName": "T",
361
- "constraintTokenRange": {
362
- "startIndex": 0,
363
- "endIndex": 0
364
- },
365
- "defaultTypeTokenRange": {
366
- "startIndex": 0,
367
- "endIndex": 0
499
+ "kind": "PropertySignature",
500
+ "canonicalReference": "@valiantys/atlassian-app-frontend!IframeWrapperRef#reloadContentWindow:member",
501
+ "docComment": "",
502
+ "excerptTokens": [
503
+ {
504
+ "kind": "Content",
505
+ "text": "reloadContentWindow: "
506
+ },
507
+ {
508
+ "kind": "Content",
509
+ "text": "() => void"
510
+ },
511
+ {
512
+ "kind": "Content",
513
+ "text": ";"
514
+ }
515
+ ],
516
+ "isReadonly": false,
517
+ "isOptional": false,
518
+ "releaseTag": "Public",
519
+ "name": "reloadContentWindow",
520
+ "propertyTypeTokenRange": {
521
+ "startIndex": 1,
522
+ "endIndex": 2
368
523
  }
369
524
  }
370
525
  ],
371
- "name": "IframeWrapper"
526
+ "extendsTokenRanges": []
372
527
  }
373
528
  ]
374
529
  }
@@ -4,7 +4,7 @@
4
4
 
5
5
  ```ts
6
6
 
7
- import { JSX as JSX_2 } from 'react/jsx-runtime';
7
+ import { default as default_2 } from 'react';
8
8
 
9
9
  // @public (undocumented)
10
10
  export interface IframeProps {
@@ -19,11 +19,25 @@ export interface IframeProps {
19
19
  }
20
20
 
21
21
  // @public (undocumented)
22
- export function IframeWrapper<T>({ iframeProps, messageCallback, onMouseOut, }: {
22
+ export const IframeWrapper: default_2.ForwardRefExoticComponent<Readonly<IframeWrapperProps> & default_2.RefAttributes<unknown>>;
23
+
24
+ // @public (undocumented)
25
+ export interface IframeWrapperProps {
26
+ // (undocumented)
23
27
  iframeProps: IframeProps;
24
- messageCallback?: (eventData: T) => void;
28
+ // (undocumented)
29
+ messageCallback?: (eventData: any) => void;
30
+ // (undocumented)
25
31
  onMouseOut?: () => void;
26
- }): JSX_2.Element;
32
+ }
33
+
34
+ // @public (undocumented)
35
+ export interface IframeWrapperRef {
36
+ // (undocumented)
37
+ focusContentWindow: () => void;
38
+ // (undocumented)
39
+ reloadContentWindow: () => void;
40
+ }
27
41
 
28
42
  // (No @packageDocumentation comment for this package)
29
43
 
@@ -1,4 +1,4 @@
1
- import { JSX as JSX_2 } from 'react/jsx-runtime';
1
+ import { default as default_2 } from 'react';
2
2
 
3
3
  export declare interface IframeProps {
4
4
  link: string;
@@ -7,10 +7,17 @@ export declare interface IframeProps {
7
7
  height?: string;
8
8
  }
9
9
 
10
- export declare function IframeWrapper<T>({ iframeProps, messageCallback, onMouseOut, }: {
10
+ export declare const IframeWrapper: default_2.ForwardRefExoticComponent<Readonly<IframeWrapperProps> & default_2.RefAttributes<unknown>>;
11
+
12
+ export declare interface IframeWrapperProps {
11
13
  iframeProps: IframeProps;
12
- messageCallback?: (eventData: T) => void;
14
+ messageCallback?: (eventData: any) => void;
13
15
  onMouseOut?: () => void;
14
- }): JSX_2.Element;
16
+ }
17
+
18
+ export declare interface IframeWrapperRef {
19
+ reloadContentWindow: () => void;
20
+ focusContentWindow: () => void;
21
+ }
15
22
 
16
23
  export { }