@pexip-engage-public/plugin 1.1.26 → 1.1.27-canary-20250729085737

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @pexip-engage-public/plugin
2
2
 
3
+ ## 1.1.27-canary-20250729085737
4
+
5
+ ### Patch Changes
6
+
7
+ - 2017f8f: chore: ditch iframe resizer
8
+
3
9
  ## 1.1.26
4
10
 
5
11
  ### Patch Changes
@@ -1,2 +1,13 @@
1
+ import type { IFrameMessage, IFrameObjectMessage } from "./event-types.js";
1
2
  export * from "./event-types.js";
3
+ export declare const IFRAME_CHILD_MESSAGE = "iframe-child-message";
4
+ export declare const IFRAME_PARENT_MESSAGE = "iframe-parent-message";
5
+ export type IframeChildMessageEventData = {
6
+ type: typeof IFRAME_CHILD_MESSAGE;
7
+ message: IFrameObjectMessage;
8
+ };
9
+ export type IframeParentMessageEventData = {
10
+ type: typeof IFRAME_PARENT_MESSAGE;
11
+ message: IFrameMessage;
12
+ };
2
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,cAAc,kBAAkB,CAAC;AACjC,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,OAAO,oBAAoB,CAAC;IAClC,OAAO,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,OAAO,qBAAqB,CAAC;IACnC,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC"}
@@ -1,3 +1,5 @@
1
1
  // biome-ignore lint/performance/noReExportAll: types only, ignore
2
2
  export * from "./event-types.js";
3
+ export const IFRAME_CHILD_MESSAGE = "iframe-child-message";
4
+ export const IFRAME_PARENT_MESSAGE = "iframe-parent-message";
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAEA,kEAAkE;AAClE,cAAc,kBAAkB,CAAC;AACjC,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAC3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC"}
@@ -1,7 +1,17 @@
1
+ import { type IFrameMessage, type IFrameObjectMessage } from "../events/index.js";
1
2
  declare class PexipEngagePluginFrame extends HTMLElement {
2
3
  #private;
4
+ static observedAttributes: string[];
3
5
  constructor();
4
- createPexipPlugin(src: string): HTMLIFrameElement;
6
+ connectedCallback(): void;
7
+ disconnectedCallback(): void;
8
+ connectedMoveCallback(): void;
9
+ adoptedCallback(): void;
10
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
11
+ postMessage(message: IFrameObjectMessage): void;
12
+ validateMessageEvent(event: MessageEvent): IFrameMessage | null;
13
+ createPexipPlugin(): void;
14
+ unsubscribe(): void;
5
15
  }
6
16
  export declare function getPexipEngagePluginFrame(): typeof PexipEngagePluginFrame;
7
17
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"PexipEngagePluginFrame.d.ts","sourceRoot":"","sources":["../../src/instance/PexipEngagePluginFrame.ts"],"names":[],"mappings":"AASA,cAAM,sBAAuB,SAAQ,WAAW;;;IAQ9C,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;CAsBlD;AAGD,wBAAgB,yBAAyB,IAKe,OAAO,sBAAsB,CACpF"}
1
+ {"version":3,"file":"PexipEngagePluginFrame.d.ts","sourceRoot":"","sources":["../../src/instance/PexipEngagePluginFrame.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAQ5B,cAAM,sBAAuB,SAAQ,WAAW;;IAE9C,MAAM,CAAC,kBAAkB,WAAW;;IAUpC,iBAAiB;IAIjB,oBAAoB;IAIpB,qBAAqB;IAIrB,eAAe;IAIf,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAIzE,WAAW,CAAC,OAAO,EAAE,mBAAmB;IAIxC,oBAAoB,CAAC,KAAK,EAAE,YAAY;IAcxC,iBAAiB;IA8BjB,WAAW;CAIZ;AAGD,wBAAgB,yBAAyB,IAKe,OAAO,sBAAsB,CACpF"}
@@ -1,17 +1,51 @@
1
+ import { IFRAME_CHILD_MESSAGE, IFRAME_PARENT_MESSAGE, } from "../events/index.js";
2
+ import { initialize } from "../resizer/parent.js";
1
3
  const SPINNER_STYLE = "<style>@keyframes spin{to{transform: rotate(360deg);}}.container{display: flex; align-items: center; justify-content: center; height: calc(700px - 1rem);}svg{fill: rgb(10 33 54); color: rgb(229 231 235); animation: spin 1s linear infinite;}</style>";
2
4
  const SPINNER_DOM = `<div class="container"><svg aria-hidden="true" fill="none" viewBox="0 0 100 101" width="24px" height="24px" xmlns="http://www.w3.org/2000/svg"> <path fill="currentColor" d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" ></path> <path fill="currentFill" d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z"></path></svg></div>`;
3
5
  const spinnerHtml = `<!DOCTYPE html><html><head>${SPINNER_STYLE}</head><body>${SPINNER_DOM}</body></html>`;
4
- const spinnerTemplate = document.createElement("template");
5
- spinnerTemplate.innerHTML = `${SPINNER_STYLE}${SPINNER_DOM}`;
6
6
  class PexipEngagePluginFrame extends HTMLElement {
7
7
  #shadowRoot;
8
+ static observedAttributes = ["src"];
9
+ #cleanup = null;
10
+ #iframe = null;
8
11
  constructor() {
9
12
  super();
10
13
  this.#shadowRoot = this.attachShadow({ mode: "open" });
11
- this.#shadowRoot.appendChild(spinnerTemplate.content.cloneNode(true));
12
14
  }
13
- createPexipPlugin(src) {
15
+ connectedCallback() {
16
+ console.log("PexipEngagePluginFrame connected");
17
+ }
18
+ disconnectedCallback() {
19
+ console.log("PexipEngagePluginFrame disconnected");
20
+ }
21
+ connectedMoveCallback() {
22
+ console.log("PexipEngagePluginFrame moved");
23
+ }
24
+ adoptedCallback() {
25
+ console.log("PexipEngagePluginFrame adopted");
26
+ }
27
+ attributeChangedCallback(name, oldValue, newValue) {
28
+ console.log(`Attribute ${name} has changed from ${oldValue} to ${newValue}.`);
29
+ }
30
+ postMessage(message) {
31
+ this.#iframe?.contentWindow?.postMessage({ message, type: IFRAME_CHILD_MESSAGE }, "*");
32
+ }
33
+ validateMessageEvent(event) {
34
+ const isTargetIframe = Boolean(this.#iframe?.contentWindow && this.#iframe.contentWindow === event.source) &&
35
+ event.data.type === IFRAME_PARENT_MESSAGE;
36
+ if (!isTargetIframe) {
37
+ return null;
38
+ }
39
+ const message = event.data.message;
40
+ return message;
41
+ }
42
+ createPexipPlugin() {
43
+ this.#cleanup?.();
44
+ const src = this.getAttribute("src");
45
+ if (!src)
46
+ throw new Error("Source URL is required to create the Pexip Engage Plugin frame.");
14
47
  const iframe = document.createElement("iframe");
48
+ this.#iframe = iframe;
15
49
  iframe.src = src;
16
50
  iframe.style.border = "0px";
17
51
  iframe.style.overflow = "hidden";
@@ -22,12 +56,18 @@ class PexipEngagePluginFrame extends HTMLElement {
22
56
  iframe.title = "Pexip Engage Plugin";
23
57
  iframe.referrerPolicy = "strict-origin-when-cross-origin";
24
58
  iframe.allow = "clipboard-write; geolocation";
25
- // iframe.loading = "lazy";
26
59
  iframe.onload = () => iframe.removeAttribute("srcdoc");
27
60
  iframe.srcdoc = spinnerHtml;
28
61
  this.#shadowRoot.innerHTML = "";
29
62
  this.#shadowRoot.appendChild(iframe);
30
- return iframe;
63
+ const result = initialize(iframe);
64
+ this.#cleanup = () => {
65
+ result.unsubscribe();
66
+ };
67
+ }
68
+ unsubscribe() {
69
+ this.#cleanup?.();
70
+ this.#cleanup = null;
31
71
  }
32
72
  }
33
73
  const FRAME_IDENTIFIER = "pexip-engage-plugin-frame";
@@ -1 +1 @@
1
- {"version":3,"file":"PexipEngagePluginFrame.js","sourceRoot":"","sources":["../../src/instance/PexipEngagePluginFrame.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GACjB,0PAA0P,CAAC;AAC7P,MAAM,WAAW,GAAG,oqCAAoqC,CAAC;AAEzrC,MAAM,WAAW,GAAG,8BAA8B,aAAa,gBAAgB,WAAW,gBAAgB,CAAC;AAE3G,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAC3D,eAAe,CAAC,SAAS,GAAG,GAAG,aAAa,GAAG,WAAW,EAAE,CAAC;AAE7D,MAAM,sBAAuB,SAAQ,WAAW;IACrC,WAAW,CAAa;IACjC;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,iBAAiB,CAAC,GAAW;QAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACjB,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QAC5B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;QACtB,MAAM,CAAC,KAAK,GAAG,qBAAqB,CAAC;QACrC,MAAM,CAAC,cAAc,GAAG,iCAAiC,CAAC;QAC1D,MAAM,CAAC,KAAK,GAAG,8BAA8B,CAAC;QAE9C,2BAA2B;QAC3B,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;QAE5B,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAErC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AACrD,MAAM,UAAU,yBAAyB;IACvC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAkC,CAAC;AACtF,CAAC"}
1
+ {"version":3,"file":"PexipEngagePluginFrame.js","sourceRoot":"","sources":["../../src/instance/PexipEngagePluginFrame.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PluginInstance.d.ts","sourceRoot":"","sources":["../../src/instance/PluginInstance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PluginInstance.d.ts","sourceRoot":"","sources":["../../src/instance/PluginInstance.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,16 @@
1
1
  var _a;
2
2
  import { getCurrentPosition } from "@pexip-engage-public/utils/get-current-position";
3
- import resizer, {} from "iframe-resizer/js/iframeResizer.js";
4
3
  import { parsePluginConfiguration } from "../configuration-parser/index.js";
5
4
  import { encodeURIParameters, pluginSearchParams } from "../encoding.js";
6
5
  import { logger } from "../logger.js";
7
6
  import { dispatchEvent, PEXIP_ENGAGE_PLUGIN_EVENT, } from "./dispatchEvent.js";
8
7
  import { getPexipEngagePluginFrame } from "./PexipEngagePluginFrame.js";
9
- const PexipEngagePluginFrame = getPexipEngagePluginFrame();
10
8
  export class PluginInstance {
11
- #instance;
12
9
  #target;
10
+ #element = null;
13
11
  #state = null;
14
12
  #meta = {};
13
+ // biome-ignore lint/correctness/noUnusedPrivateClassMembers: Not in use currently
15
14
  #status = "pending";
16
15
  #fallbackTimeoutId = null;
17
16
  #fallbackHTML;
@@ -40,7 +39,7 @@ export class PluginInstance {
40
39
  const existingInstance = _a.#instances.find((i) => i.#target === this.#target);
41
40
  this.#fallbackHTML = existingInstance ? existingInstance.#fallbackHTML : this.#target.innerHTML;
42
41
  existingInstance?.dispose();
43
- this.#instance = this.#createInstance();
42
+ this.#createInstance();
44
43
  _a.#instances.push(this);
45
44
  queueMacroTask(() => {
46
45
  dispatchEvent({
@@ -51,7 +50,10 @@ export class PluginInstance {
51
50
  });
52
51
  });
53
52
  }
54
- #handleMessage = async ({ message }) => {
53
+ #handleMessage = async (event) => {
54
+ const message = this.#element?.validateMessageEvent(event);
55
+ if (!message)
56
+ return;
55
57
  if (message.type === "STATE_UPDATE") {
56
58
  this.#state = message.payload;
57
59
  return;
@@ -81,14 +83,14 @@ export class PluginInstance {
81
83
  data: message.payload,
82
84
  });
83
85
  }
84
- this.#instance.iFrameResizer.sendMessage({
86
+ this.#element?.postMessage({
85
87
  payload: { meta: this.#meta },
86
88
  type: "PRE_APPOINTMENT_REQUEST",
87
89
  });
88
90
  return;
89
91
  }
90
92
  if (message.type === "REQUEST_ORIGIN_URL") {
91
- this.#instance.iFrameResizer.sendMessage({
93
+ this.#element?.postMessage({
92
94
  payload: { href: window.location.href },
93
95
  type: "REQUEST_ORIGIN_URL",
94
96
  });
@@ -96,7 +98,7 @@ export class PluginInstance {
96
98
  }
97
99
  if (message.type === "REQUEST_GEOLOCATION") {
98
100
  const geolocation = getCurrentPosition();
99
- this.#instance.iFrameResizer.sendMessage({
101
+ this.#element?.postMessage({
100
102
  payload: await geolocation.catch((error) => typeof error === "string" ? { error } : { error: "Unknown error" }),
101
103
  type: "REQUEST_GEOLOCATION",
102
104
  });
@@ -124,37 +126,33 @@ export class PluginInstance {
124
126
  return url;
125
127
  };
126
128
  #createInstance() {
129
+ const searchParams = pluginSearchParams.encode(this.#config.config);
130
+ const src = `${_a.#url}/plugin?${searchParams}`;
131
+ const PexipEngagePluginFrame = getPexipEngagePluginFrame();
127
132
  const container = new PexipEngagePluginFrame();
133
+ container.setAttribute("src", src);
134
+ this.#element = container;
128
135
  this.#target.innerHTML = "";
129
136
  this.#target.appendChild(container);
130
- const searchParams = pluginSearchParams.encode(this.#config.config);
131
- const src = `${_a.#url}/plugin?${searchParams}`;
132
- const iframe = container.createPexipPlugin(src);
133
- const self = this;
134
- const [instance] = resizer({
135
- checkOrigin: false,
136
- heightCalculationMethod: "taggedElement",
137
- log: false,
138
- onInit() {
139
- self.#status = "success";
140
- dispatchEvent({
141
- bubbles: true,
142
- cancelable: true,
143
- detail: { instance: self, type: _a.EVENT_LOADED },
144
- target: self.#target,
145
- });
146
- },
147
- onMessage: this.#handleMessage,
148
- resizeFrom: "child",
149
- }, iframe);
150
- if (!instance)
137
+ try {
138
+ container.createPexipPlugin();
139
+ this.#status = "success";
140
+ dispatchEvent({
141
+ bubbles: true,
142
+ cancelable: true,
143
+ detail: { instance: this, type: _a.EVENT_LOADED },
144
+ target: this.#target,
145
+ });
146
+ window.addEventListener("message", this.#handleMessage);
147
+ }
148
+ catch (err) {
151
149
  throw new Error("Failed to create resizer instance");
152
- return instance;
150
+ }
153
151
  }
154
152
  #restart = () => {
153
+ window.removeEventListener("message", this.#handleMessage);
155
154
  // leave event listeners intact.
156
- this.#instance.iFrameResizer.close();
157
- this.#instance = this.#createInstance();
155
+ this.#createInstance();
158
156
  };
159
157
  /** Destroy the instance */
160
158
  dispose = () => {
@@ -164,7 +162,8 @@ export class PluginInstance {
164
162
  if (typeof this.#fallbackTimeoutId === "number") {
165
163
  window.clearTimeout(this.#fallbackTimeoutId);
166
164
  }
167
- this.#instance.iFrameResizer.close();
165
+ window.removeEventListener("message", this.#handleMessage);
166
+ this.#element?.unsubscribe();
168
167
  const idx = _a.#instances.indexOf(this);
169
168
  if (idx !== -1) {
170
169
  _a.#instances.splice(idx, 1);
@@ -174,10 +173,10 @@ export class PluginInstance {
174
173
  /** @private internal API */
175
174
  setCSSVariable = (name, value) => {
176
175
  warnPrivate({ name: "setCSSVariable", type: "function" });
177
- this.#instance.iFrameResizer.sendMessage({ payload: { name, value }, type: "CSS_VAR_UPDATE" });
176
+ this.#element?.postMessage({ payload: { name, value }, type: "CSS_VAR_UPDATE" });
178
177
  };
179
178
  setCustomCSS = (css) => {
180
- this.#instance.iFrameResizer.sendMessage({ payload: { css }, type: "CUSTOM_CSS_UPDATE" });
179
+ this.#element?.postMessage({ payload: { css }, type: "CUSTOM_CSS_UPDATE" });
181
180
  };
182
181
  #listeners = new Set();
183
182
  /** Add an event listener. Returns an unsubscribe function. */
@@ -1 +1 @@
1
- {"version":3,"file":"PluginInstance.js","sourceRoot":"","sources":["../../src/instance/PluginInstance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PluginInstance.js","sourceRoot":"","sources":["../../src/instance/PluginInstance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { IFrameMessage, IFrameObjectMessage } from "../events/index.js";
2
+ export declare class IframeChildInstance {
3
+ #private;
4
+ sendMessage: (message: IFrameMessage) => void;
5
+ scrollToOffset: (offset: {
6
+ top: number;
7
+ }) => void;
8
+ constructor({ onReady, onMessage, }: {
9
+ onReady: () => void;
10
+ onMessage: (message: IFrameObjectMessage) => void;
11
+ });
12
+ initialize: () => void;
13
+ unsubscribe: () => void;
14
+ }
15
+ //# sourceMappingURL=child.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child.d.ts","sourceRoot":"","sources":["../../src/resizer/child.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAGpB,MAAM,oBAAoB,CAAC;AAQ5B,qBAAa,mBAAmB;;IA8C9B,WAAW,GAAI,SAAS,aAAa,UAanC;IAEF,cAAc,GAAI,QAAQ;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,UAOvC;gBAyBU,EACV,OAAO,EACP,SAAS,GACV,EAAE;QACD,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,SAAS,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;KACnD;IAKD,UAAU,aAIR;IAEF,WAAW,aAGT;CACH"}
@@ -0,0 +1,94 @@
1
+ import { isBrowser, } from "./common.js";
2
+ export class IframeChildInstance {
3
+ #queue = [];
4
+ #isQueueConsumed = false;
5
+ #initialized = false;
6
+ #_resizeObserver = null;
7
+ get #resizeObserver() {
8
+ if (!this.#_resizeObserver) {
9
+ this.#_resizeObserver = new ResizeObserver((entries) => {
10
+ if (!entries[0]?.target) {
11
+ return;
12
+ }
13
+ const clientRect = entries[0].target.getBoundingClientRect();
14
+ const height = Math.ceil(clientRect.height);
15
+ const width = Math.ceil(clientRect.width);
16
+ const data = {
17
+ height,
18
+ type: "iframe-resized",
19
+ width,
20
+ };
21
+ window.parent.postMessage(data, "*");
22
+ });
23
+ }
24
+ return this.#_resizeObserver;
25
+ }
26
+ #handleInitializeSignal = (event) => {
27
+ const elementToObserve = document.documentElement;
28
+ if (this.#initialized || window.parent !== event.source) {
29
+ return;
30
+ }
31
+ this.#resizeObserver.disconnect();
32
+ this.#resizeObserver.observe(elementToObserve);
33
+ this.#initialized = true;
34
+ this.#isQueueConsumed = true;
35
+ this.#queue.forEach((message) => this.sendMessage(message));
36
+ this.#queue.length = 0;
37
+ this.#onReady();
38
+ };
39
+ sendMessage = (message) => {
40
+ if (!this.#isQueueConsumed && isInIframe()) {
41
+ this.#queue.push(message);
42
+ return;
43
+ }
44
+ const data = {
45
+ message,
46
+ type: "iframe-parent-message",
47
+ };
48
+ this.#sendMessage(data);
49
+ };
50
+ scrollToOffset = (offset) => {
51
+ const data = {
52
+ top: offset.top,
53
+ type: "iframe-scroll-to-offset",
54
+ };
55
+ this.#sendMessage(data);
56
+ };
57
+ #sendMessage(data) {
58
+ if (!isBrowser() || !isInIframe())
59
+ return;
60
+ window.parent.postMessage(data, "*");
61
+ }
62
+ #handleMessage = (event) => {
63
+ if (event.data?.type === "iframe-child-init") {
64
+ return deferWhenWindowDocumentIsLoaded(() => this.#handleInitializeSignal(event));
65
+ }
66
+ if (event.data?.type === "iframe-child-message") {
67
+ this.#onMessage(event.data.message);
68
+ }
69
+ };
70
+ #onReady;
71
+ #onMessage;
72
+ constructor({ onReady, onMessage, }) {
73
+ this.#onReady = onReady;
74
+ this.#onMessage = onMessage;
75
+ }
76
+ initialize = () => {
77
+ if (!isBrowser() || !isInIframe())
78
+ return;
79
+ window.addEventListener("message", this.#handleMessage);
80
+ };
81
+ unsubscribe = () => {
82
+ window.removeEventListener("message", this.#handleMessage);
83
+ this.#resizeObserver.disconnect();
84
+ };
85
+ }
86
+ function isInIframe() {
87
+ return window.self !== window.top;
88
+ }
89
+ function deferWhenWindowDocumentIsLoaded(executable) {
90
+ window.document.readyState === "complete"
91
+ ? executable()
92
+ : window.addEventListener("load", executable);
93
+ }
94
+ //# sourceMappingURL=child.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child.js","sourceRoot":"","sources":["../../src/resizer/child.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export declare function isBrowser(): boolean;
2
+ export type InitializeResult = {
3
+ unsubscribe: () => void;
4
+ };
5
+ export type IframeResizeEventData = {
6
+ type: "iframe-resized";
7
+ width: number;
8
+ height?: number;
9
+ };
10
+ export type IframeScrollData = {
11
+ type: "iframe-scroll-to-offset";
12
+ top: number;
13
+ };
14
+ export type IframeChildInitEventData = {
15
+ type: "iframe-child-init";
16
+ };
17
+ export type IframeResizeEvent = MessageEvent<IframeResizeEventData>;
18
+ export type IframeScrollEvent = MessageEvent<IframeScrollData>;
19
+ export interface RegisteredElement {
20
+ iframe: HTMLIFrameElement;
21
+ initContext: {
22
+ isInitialized: boolean;
23
+ retryAttempts: number;
24
+ retryTimeoutId?: number;
25
+ };
26
+ }
27
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/resizer/common.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,YAExB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,WAAW,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAE3D,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,yBAAyB,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,mBAAmB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,EAAE;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzF"}
@@ -0,0 +1,4 @@
1
+ export function isBrowser() {
2
+ return typeof window !== "undefined";
3
+ }
4
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/resizer/common.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC;AACvC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type InitializeResult } from "./common.js";
2
+ export declare function initialize(iframe: HTMLIFrameElement): InitializeResult;
3
+ //# sourceMappingURL=parent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parent.d.ts","sourceRoot":"","sources":["../../src/resizer/parent.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EAGtB,MAAM,aAAa,CAAC;AAErB,wBAAgB,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,gBAAgB,CAYtE"}
@@ -0,0 +1,64 @@
1
+ import { isBrowser, } from "./common.js";
2
+ export function initialize(iframe) {
3
+ if (!isBrowser()) {
4
+ return { unsubscribe() { } };
5
+ }
6
+ const registeredElement = {
7
+ iframe,
8
+ initContext: { isInitialized: false, retryAttempts: 0 },
9
+ };
10
+ const unsubscribe = addCrossOriginChildResizeListener(registeredElement);
11
+ return { unsubscribe };
12
+ }
13
+ function addCrossOriginChildResizeListener(registeredElement) {
14
+ const { iframe, initContext } = registeredElement;
15
+ function handleIframeResizedMessage(event) {
16
+ const isIframeTarget = iframe.contentWindow === event.source;
17
+ if (!isIframeTarget) {
18
+ return;
19
+ }
20
+ if (event.data?.type === "iframe-resized") {
21
+ const { height } = event.data;
22
+ height && resizeIframe({ newHeight: height, registeredElement });
23
+ return;
24
+ }
25
+ if (event.data?.type === "iframe-scroll-to-offset") {
26
+ const { top } = event.data;
27
+ const iFramePosition = iframe.getBoundingClientRect();
28
+ window.scrollTo({ top: iFramePosition.top + window.scrollY + top });
29
+ return;
30
+ }
31
+ }
32
+ window.addEventListener("message", handleIframeResizedMessage);
33
+ const initMessage = { type: "iframe-child-init" };
34
+ function sendInitializationMessageToChild() {
35
+ postMessageSafelyToCrossOriginIframe(iframe, () => iframe.contentWindow?.postMessage(initMessage, "*"));
36
+ initContext.retryAttempts++;
37
+ initContext.retryTimeoutId = window.setTimeout(sendInitializationMessageToChild, getExponentialBackoffDelay(initContext.retryAttempts));
38
+ }
39
+ sendInitializationMessageToChild();
40
+ return () => window.removeEventListener("message", handleIframeResizedMessage);
41
+ }
42
+ function resizeIframe({ registeredElement, newHeight, }) {
43
+ const { iframe, initContext } = registeredElement;
44
+ if (!initContext.isInitialized) {
45
+ initContext.isInitialized = true;
46
+ clearTimeout(initContext.retryTimeoutId);
47
+ }
48
+ iframe.style.height = `${newHeight}px`;
49
+ }
50
+ /** Post the message twice, it assures the target to receive the message at least once */
51
+ function postMessageSafelyToCrossOriginIframe(iframe, executable) {
52
+ executable();
53
+ iframe.addEventListener("load", executable);
54
+ }
55
+ function getExponentialBackoffDelay(nthRetry) {
56
+ if (nthRetry <= 100) {
57
+ return 100; // for 10 seconds
58
+ }
59
+ if (nthRetry <= 120) {
60
+ return 1000; // for 20 seconds
61
+ }
62
+ return 10000;
63
+ }
64
+ //# sourceMappingURL=parent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parent.js","sourceRoot":"","sources":["../../src/resizer/parent.ts"],"names":[],"mappings":"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"}