@pexip-engage-public/plugin 1.1.27-canary-20250730143233 → 1.1.27-canary-20250801102311

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,10 +1,14 @@
1
1
  # @pexip-engage-public/plugin
2
2
 
3
- ## 1.1.27-canary-20250730143233
3
+ ## 1.1.27-canary-20250801102311
4
4
 
5
5
  ### Patch Changes
6
6
 
7
7
  - 2017f8f: chore: ditch iframe resizer
8
+ - Updated dependencies [85c4f1a]
9
+ - Updated dependencies [caeeeb6]
10
+ - @pexip-engage-public/graphql@1.1.10-canary-20250801102311
11
+ - @pexip-engage-public/utils@0.1.47-canary-20250801102311
8
12
 
9
13
  ## 1.1.26
10
14
 
@@ -1,15 +1,15 @@
1
1
  import type { IFrameMessage, IFrameObjectMessage } from "../events/index.js";
2
2
  export declare class IframeChildInstance {
3
3
  #private;
4
- sendMessage: (message: IFrameMessage) => void;
5
- scrollToOffset: (offset: {
6
- top: number;
7
- }) => void;
8
4
  constructor({ onReady, onMessage, }: {
9
5
  onReady: () => void;
10
6
  onMessage: (message: IFrameObjectMessage) => void;
11
7
  });
12
8
  initialize: () => void;
13
9
  unsubscribe: () => void;
10
+ sendMessage: (message: IFrameMessage) => void;
11
+ scrollToOffset: (offset: {
12
+ top: number;
13
+ }) => void;
14
14
  }
15
15
  //# sourceMappingURL=child.d.ts.map
@@ -1 +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"}
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;;gBAoElB,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;IAEF,WAAW,GAAI,SAAS,aAAa,UAiBnC;IAEF,cAAc,GAAI,QAAQ;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,UAOvC;CACH"}
@@ -1,7 +1,6 @@
1
1
  import { isBrowser, } from "./common.js";
2
2
  export class IframeChildInstance {
3
3
  #queue = [];
4
- #isQueueConsumed = false;
5
4
  #initialized = false;
6
5
  #_resizeObserver = null;
7
6
  get #resizeObserver() {
@@ -24,36 +23,18 @@ export class IframeChildInstance {
24
23
  return this.#_resizeObserver;
25
24
  }
26
25
  #handleInitializeSignal = (event) => {
27
- const elementToObserve = document.documentElement;
28
26
  if (this.#initialized || window.parent !== event.source) {
29
27
  return;
30
28
  }
31
29
  this.#resizeObserver.disconnect();
32
- this.#resizeObserver.observe(elementToObserve);
30
+ this.#resizeObserver.observe(document.documentElement);
33
31
  this.#initialized = true;
34
- this.#isQueueConsumed = true;
35
- this.#queue.forEach((message) => this.sendMessage(message));
36
- this.#queue.length = 0;
32
+ window.setTimeout(() => {
33
+ this.#queue.forEach((message) => this.sendMessage(message));
34
+ this.#queue.length = 0;
35
+ }, 100);
37
36
  this.#onReady();
38
37
  };
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
38
  #sendMessage(data) {
58
39
  if (!isBrowser() || !isInIframe())
59
40
  return;
@@ -82,6 +63,27 @@ export class IframeChildInstance {
82
63
  window.removeEventListener("message", this.#handleMessage);
83
64
  this.#resizeObserver.disconnect();
84
65
  };
66
+ sendMessage = (message) => {
67
+ if (!isInIframe()) {
68
+ return console.debug("[event]", message);
69
+ }
70
+ if (!this.#initialized) {
71
+ this.#queue.push(message);
72
+ return;
73
+ }
74
+ const data = {
75
+ message,
76
+ type: "iframe-parent-message",
77
+ };
78
+ this.#sendMessage(data);
79
+ };
80
+ scrollToOffset = (offset) => {
81
+ const data = {
82
+ top: offset.top,
83
+ type: "iframe-scroll-to-offset",
84
+ };
85
+ this.#sendMessage(data);
86
+ };
85
87
  }
86
88
  function isInIframe() {
87
89
  return window.self !== window.top;
@@ -1 +1 @@
1
- {"version":3,"file":"child.js","sourceRoot":"","sources":["../../src/resizer/child.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"child.js","sourceRoot":"","sources":["../../src/resizer/child.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pexip-engage-public/plugin",
3
- "version": "1.1.27-canary-20250730143233",
3
+ "version": "1.1.27-canary-20250801102311",
4
4
  "homepage": "https://github.com/skedify/frontend-mono/tree/develop/apps/booking-plugin/packages/plugin-public#readme",
5
5
  "bugs": {
6
6
  "url": "https://github.com/skedify/frontend-mono/issues"
@@ -39,15 +39,15 @@
39
39
  "dependencies": {
40
40
  "skedify-uri-encoding": "^2.1.2",
41
41
  "zod": "^3.25.76",
42
- "@pexip-engage-public/graphql": "1.1.9",
43
- "@pexip-engage-public/utils": "0.1.46"
42
+ "@pexip-engage-public/graphql": "1.1.10-canary-20250801102311",
43
+ "@pexip-engage-public/utils": "0.1.47-canary-20250801102311"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@total-typescript/ts-reset": "^0.6.1",
47
47
  "happy-dom": "^18.0.1",
48
48
  "vitest": "^3.2.4",
49
49
  "@pexip-engage/tsconfig": "0.1.1",
50
- "eslint-config-pexip-engage": "1.1.27"
50
+ "eslint-config-pexip-engage": "1.1.28-canary-20250801102311"
51
51
  },
52
52
  "volta": {
53
53
  "extends": "../../../../package.json"
@@ -13,7 +13,6 @@ import {
13
13
 
14
14
  export class IframeChildInstance {
15
15
  #queue: IFrameMessage[] = [];
16
- #isQueueConsumed = false;
17
16
  #initialized = false;
18
17
  #_resizeObserver: ResizeObserver | null = null;
19
18
  get #resizeObserver() {
@@ -41,44 +40,20 @@ export class IframeChildInstance {
41
40
  }
42
41
 
43
42
  #handleInitializeSignal = (event: MessageEvent<IframeChildInitEventData>) => {
44
- const elementToObserve = document.documentElement;
45
-
46
43
  if (this.#initialized || window.parent !== event.source) {
47
44
  return;
48
45
  }
49
46
 
50
47
  this.#resizeObserver.disconnect();
51
- this.#resizeObserver.observe(elementToObserve);
48
+ this.#resizeObserver.observe(document.documentElement);
52
49
  this.#initialized = true;
53
- this.#isQueueConsumed = true;
54
- this.#queue.forEach((message) => this.sendMessage(message));
55
- this.#queue.length = 0;
56
50
 
57
- this.#onReady();
58
- };
51
+ window.setTimeout(() => {
52
+ this.#queue.forEach((message) => this.sendMessage(message));
53
+ this.#queue.length = 0;
54
+ }, 100);
59
55
 
60
- sendMessage = (message: IFrameMessage) => {
61
- if (!this.#isQueueConsumed && isInIframe()) {
62
- this.#queue.push(message);
63
-
64
- return;
65
- }
66
-
67
- const data: IframeParentMessageEventData = {
68
- message,
69
- type: "iframe-parent-message",
70
- };
71
-
72
- this.#sendMessage(data);
73
- };
74
-
75
- scrollToOffset = (offset: { top: number }) => {
76
- const data: IframeScrollData = {
77
- top: offset.top,
78
- type: "iframe-scroll-to-offset",
79
- };
80
-
81
- this.#sendMessage(data);
56
+ this.#onReady();
82
57
  };
83
58
 
84
59
  #sendMessage(data: IframeScrollData | IframeParentMessageEventData) {
@@ -125,6 +100,34 @@ export class IframeChildInstance {
125
100
  window.removeEventListener("message", this.#handleMessage);
126
101
  this.#resizeObserver.disconnect();
127
102
  };
103
+
104
+ sendMessage = (message: IFrameMessage) => {
105
+ if (!isInIframe()) {
106
+ return console.debug("[event]", message);
107
+ }
108
+
109
+ if (!this.#initialized) {
110
+ this.#queue.push(message);
111
+
112
+ return;
113
+ }
114
+
115
+ const data: IframeParentMessageEventData = {
116
+ message,
117
+ type: "iframe-parent-message",
118
+ };
119
+
120
+ this.#sendMessage(data);
121
+ };
122
+
123
+ scrollToOffset = (offset: { top: number }) => {
124
+ const data: IframeScrollData = {
125
+ top: offset.top,
126
+ type: "iframe-scroll-to-offset",
127
+ };
128
+
129
+ this.#sendMessage(data);
130
+ };
128
131
  }
129
132
 
130
133
  function isInIframe() {