@elliemae/pui-app-sdk 5.32.0 → 5.32.2

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.
Files changed (46) hide show
  1. package/demo/{2065.9b113936.iframe.bundle.js → 4194.d7b7bd0c.iframe.bundle.js} +90 -90
  2. package/demo/4194.d7b7bd0c.iframe.bundle.js.br +0 -0
  3. package/demo/4194.d7b7bd0c.iframe.bundle.js.gz +0 -0
  4. package/demo/docs/{2065.9b113936.iframe.bundle.js → 4194.d7b7bd0c.iframe.bundle.js} +90 -90
  5. package/demo/docs/4194.d7b7bd0c.iframe.bundle.js.br +0 -0
  6. package/demo/docs/4194.d7b7bd0c.iframe.bundle.js.gz +0 -0
  7. package/demo/docs/iframe.html +1 -1
  8. package/demo/docs/index.html +1 -1
  9. package/demo/docs/{main.0590cb1c0f0bdeece8be.manager.bundle.js → main.0ae090a6634de7a91844.manager.bundle.js} +1 -1
  10. package/demo/docs/{main.0590cb1c0f0bdeece8be.manager.bundle.js.br → main.0ae090a6634de7a91844.manager.bundle.js.br} +0 -0
  11. package/demo/docs/main.0ae090a6634de7a91844.manager.bundle.js.gz +0 -0
  12. package/demo/docs/{main.68a7d280.iframe.bundle.js → main.2d39c220.iframe.bundle.js} +4 -4
  13. package/demo/docs/main.2d39c220.iframe.bundle.js.br +0 -0
  14. package/demo/docs/main.2d39c220.iframe.bundle.js.gz +0 -0
  15. package/demo/docs/project.json +1 -1
  16. package/demo/iframe.html +1 -1
  17. package/demo/index.html +1 -1
  18. package/demo/{main.0590cb1c0f0bdeece8be.manager.bundle.js → main.0ae090a6634de7a91844.manager.bundle.js} +1 -1
  19. package/demo/{main.0590cb1c0f0bdeece8be.manager.bundle.js.br → main.0ae090a6634de7a91844.manager.bundle.js.br} +0 -0
  20. package/demo/main.0ae090a6634de7a91844.manager.bundle.js.gz +0 -0
  21. package/demo/{main.68a7d280.iframe.bundle.js → main.2d39c220.iframe.bundle.js} +4 -4
  22. package/demo/main.2d39c220.iframe.bundle.js.br +0 -0
  23. package/demo/main.2d39c220.iframe.bundle.js.gz +0 -0
  24. package/demo/project.json +1 -1
  25. package/dist/cjs/view/guest-microapp.js +15 -5
  26. package/dist/cjs/view/micro-iframe-app/iframe/index.js +6 -1
  27. package/dist/cjs/view/tests/__snapshots__/guest-microapp.test.tsx.snap +2 -2
  28. package/dist/cjs/view/tests/scriptingObjects/loan.js +4 -0
  29. package/dist/esm/view/guest-microapp.js +15 -5
  30. package/dist/esm/view/micro-iframe-app/iframe/index.js +7 -2
  31. package/dist/esm/view/tests/__snapshots__/guest-microapp.test.tsx.snap +2 -2
  32. package/dist/esm/view/tests/scriptingObjects/loan.js +4 -0
  33. package/dist/types/lib/view/guest-microapp.d.ts +17 -0
  34. package/dist/types/lib/view/tests/scriptingObjects/loan.d.ts +1 -0
  35. package/dist/types/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +14 -14
  37. package/demo/2065.9b113936.iframe.bundle.js.br +0 -0
  38. package/demo/2065.9b113936.iframe.bundle.js.gz +0 -0
  39. package/demo/docs/2065.9b113936.iframe.bundle.js.br +0 -0
  40. package/demo/docs/2065.9b113936.iframe.bundle.js.gz +0 -0
  41. package/demo/docs/main.0590cb1c0f0bdeece8be.manager.bundle.js.gz +0 -0
  42. package/demo/docs/main.68a7d280.iframe.bundle.js.br +0 -0
  43. package/demo/docs/main.68a7d280.iframe.bundle.js.gz +0 -0
  44. package/demo/main.0590cb1c0f0bdeece8be.manager.bundle.js.gz +0 -0
  45. package/demo/main.68a7d280.iframe.bundle.js.br +0 -0
  46. package/demo/main.68a7d280.iframe.bundle.js.gz +0 -0
@@ -2,6 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { memo, useLayoutEffect, useRef, useCallback } from "react";
3
3
  import styled from "styled-components";
4
4
  import { useDispatch } from "react-redux";
5
+ import { buildLogRocketQueryParams } from "@elliemae/pui-logrocket";
5
6
  import {
6
7
  MicroAppManager
7
8
  } from "../utils/micro-frontend/types.js";
@@ -28,7 +29,8 @@ const useAppRenderer = (props) => {
28
29
  onLoadComplete,
29
30
  onUnloadComplete,
30
31
  containerId,
31
- ssfAppOptions = {}
32
+ ssfAppOptions = {},
33
+ disableWaitMessage = false
32
34
  } = props;
33
35
  const dispatch = useDispatch();
34
36
  const getConfig = useCallback(
@@ -45,7 +47,9 @@ const useAppRenderer = (props) => {
45
47
  let instanceId = null;
46
48
  (async () => {
47
49
  await unloadInProgress;
48
- dispatch(waitMessage.open());
50
+ if (!disableWaitMessage) {
51
+ dispatch(waitMessage.open());
52
+ }
49
53
  try {
50
54
  const {
51
55
  microappManager = MicroAppManager.APPSDK,
@@ -82,7 +86,10 @@ const useAppRenderer = (props) => {
82
86
  if (isMounted) {
83
87
  instanceId = await appBridge.openApp({
84
88
  id,
85
- frameOptions: { containerId },
89
+ frameOptions: {
90
+ containerId,
91
+ queryParams: buildLogRocketQueryParams()
92
+ },
86
93
  history,
87
94
  homeRoute,
88
95
  initialRoute
@@ -107,7 +114,9 @@ const useAppRenderer = (props) => {
107
114
  unloadInProgress = Promise.resolve(ssfHost.unloadGuest(instanceId));
108
115
  throw ex;
109
116
  } finally {
110
- dispatch(waitMessage.close());
117
+ if (!disableWaitMessage) {
118
+ dispatch(waitMessage.close());
119
+ }
111
120
  }
112
121
  })();
113
122
  return () => {
@@ -138,7 +147,8 @@ const useAppRenderer = (props) => {
138
147
  onLoadComplete,
139
148
  onUnloadComplete,
140
149
  getConfig,
141
- ssfAppOptions
150
+ ssfAppOptions,
151
+ disableWaitMessage
142
152
  ]);
143
153
  };
144
154
  const GuestMicroApp = memo(
@@ -1,6 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { memo, useRef } from "react";
2
+ import { memo, useRef, useMemo } from "react";
3
3
  import styled from "styled-components";
4
+ import { buildLogRocketQueryParams } from "@elliemae/pui-logrocket";
4
5
  import { IFRAME_CONTAINER_ID_PREFIX } from "./const.js";
5
6
  const Div = styled.div`
6
7
  display: flex;
@@ -21,13 +22,17 @@ const IFrame = memo(
21
22
  ({ id, name: title, src, sandbox, onFrameReady }) => {
22
23
  const frameRef = useRef(null);
23
24
  const sandboxProps = sandbox ? { sandbox } : {};
25
+ const srcWithParams = useMemo(
26
+ () => `${src}${src.includes("?") ? "&" : "?"}${buildLogRocketQueryParams()}`,
27
+ [src]
28
+ );
24
29
  return /* @__PURE__ */ jsx(Div, { children: /* @__PURE__ */ jsx(
25
30
  Iframe,
26
31
  {
27
32
  id: `${IFRAME_CONTAINER_ID_PREFIX}${id}`,
28
33
  ref: frameRef,
29
34
  title,
30
- src,
35
+ src: srcWithParams,
31
36
  "data-testid": `${IFRAME_CONTAINER_ID_PREFIX}${id}`,
32
37
  ...sandboxProps,
33
38
  onLoad: () => frameRef?.current?.contentDocument && onFrameReady(frameRef.current.contentDocument)
@@ -77,14 +77,14 @@ Document {
77
77
  "hash": "",
78
78
  "host": "localhost:3111",
79
79
  "hostname": "localhost",
80
- "href": "http://localhost:3111/frame.html",
80
+ "href": "http://localhost:3111/frame.html?analyticsConsent=false&lrEnabled=false&lrAppId=",
81
81
  "origin": "http://localhost:3111",
82
82
  "pathname": "/frame.html",
83
83
  "port": "3111",
84
84
  "protocol": "http:",
85
85
  "reload": [Function],
86
86
  "replace": [Function],
87
- "search": "",
87
+ "search": "?analyticsConsent=false&lrEnabled=false&lrAppId=",
88
88
  "toString": [Function],
89
89
  },
90
90
  }
@@ -38,6 +38,10 @@ class Loan extends ScriptingObject {
38
38
  name: "editmodechange",
39
39
  objectId: "loan"
40
40
  });
41
+ FieldChanged = new Event({
42
+ name: "fieldchanged",
43
+ objectId: "loan"
44
+ });
41
45
  MilestoneCompleted = new Event({
42
46
  name: "milestonecompleted",
43
47
  objectId: "loan"
@@ -6,10 +6,27 @@ export type OnUnloadCompleteFn = () => void;
6
6
  * Parameters for the GuestMicroApp component.
7
7
  */
8
8
  export type GuestMicroAppParams = OpenAppParams & {
9
+ /**
10
+ * Callback function to be called when the app is loaded.
11
+ */
9
12
  onLoadComplete?: OnLoadCompleteFn;
13
+ /**
14
+ * Callback function to be called when the app is unloaded.
15
+ */
10
16
  onUnloadComplete?: OnUnloadCompleteFn;
17
+ /**
18
+ * Container ID where the microapp will be rendered.
19
+ */
11
20
  containerId?: string;
21
+ /**
22
+ * Options specific to SSF microapps.
23
+ */
12
24
  ssfAppOptions?: SSFAppOptions<Record<string, string | number | boolean>>;
25
+ /**
26
+ * Disable the wait message overlay during microapp loading.
27
+ * @default false
28
+ */
29
+ disableWaitMessage?: boolean;
13
30
  };
14
31
  /**
15
32
  * Component to load a guest microapp
@@ -8,6 +8,7 @@ export declare class Loan extends ScriptingObject implements ILoan {
8
8
  readonly Change: Event<Events>;
9
9
  readonly Committed: Event<Events>;
10
10
  readonly EditModeChange: Event<Events>;
11
+ readonly FieldChanged: Event<Events>;
11
12
  readonly MilestoneCompleted: Event<Events>;
12
13
  readonly Open: Event<Events>;
13
14
  readonly PreCommit: Event<Events>;