seatable-html-page-sdk 0.0.2 → 0.0.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,46 +1,40 @@
1
- import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
2
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
- import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
4
- import _createClass from '@babel/runtime/helpers/createClass';
5
- import _regeneratorRuntime from '@babel/runtime/regenerator';
6
-
7
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
- var POST_MESSAGE_TYPE = {
1
+ const POST_MESSAGE_TYPE = {
10
2
  HTML_PAGE_REQUEST: 'HTML_PAGE_REQUEST',
11
3
  HTML_PAGE_RESPONSE: 'HTML_PAGE_RESPONSE',
12
4
  HTML_PAGE_EVENT: 'HTML_PAGE_EVENT',
13
5
  WINDOW_EVENT: 'WINDOW_EVENT'
14
6
  };
15
- var POST_MESSAGE_REQUEST_TYPE = {
7
+ const POST_MESSAGE_REQUEST_TYPE = {
16
8
  GET_SERVER: 'get_server',
17
9
  GET_ACCESS_TOKEN: 'get_access_token',
18
10
  GET_APP_UUID: 'get_app_uuid',
19
11
  GET_PAGE_ID: 'get_page_id'
20
12
  };
21
- var WINDOW_EVENT_SOURCE_TYPE = {
13
+ const WINDOW_EVENT_SOURCE_TYPE = {
22
14
  APP: 'app',
23
15
  IFRAME: 'iframe'
24
16
  };
25
- var SUPPORT_WINDOW_MOUSE_EVENT_TYPES = ['click', 'dblclick', 'mousemove', 'mouseenter', 'mouseleave', 'mousedown', 'mouseup', 'contextmenu'];
26
- var SUPPORT_WINDOW_KEYBOARD_EVENT_TYPES = ['keydown', 'keyup', 'keypress'];
27
- var SUPPORT_WINDOW_DRAG_EVENT_TYPES = ['dragstart', 'dragover', 'drag', 'dragend', 'dragenter', 'dragleave', 'drop'];
28
- var HIGH_FREQUENCY_WINDOW_EVENT_TYPES = ['mousemove', 'dragover'];
29
- var hasOwnProperty = function hasOwnProperty(obj, key) {
17
+ const SUPPORT_WINDOW_MOUSE_EVENT_TYPES = ['click', 'dblclick', 'mousemove', 'mouseenter', 'mouseleave', 'mousedown', 'mouseup', 'contextmenu'];
18
+ const SUPPORT_WINDOW_KEYBOARD_EVENT_TYPES = ['keydown', 'keyup', 'keypress'];
19
+ const SUPPORT_WINDOW_DRAG_EVENT_TYPES = ['dragstart', 'dragover', 'drag', 'dragend', 'dragenter', 'dragleave', 'drop'];
20
+ const HIGH_FREQUENCY_WINDOW_EVENT_TYPES = ['mousemove', 'dragover'];
21
+ const hasOwnProperty = (obj, key) => {
30
22
  return Object.prototype.hasOwnProperty.call(obj, key);
31
23
  };
32
- var generatorBase64Code = function generatorBase64Code() {
33
- var keyLength = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 4;
34
- var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz0123456789';
35
- var key = '';
36
- for (var i = 0; i < keyLength; i++) {
24
+ const generatorBase64Code = function () {
25
+ let keyLength = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 4;
26
+ let possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz0123456789';
27
+ let key = '';
28
+ for (let i = 0; i < keyLength; i++) {
37
29
  key += possible.charAt(Math.floor(Math.random() * possible.length));
38
30
  }
39
31
  return key;
40
32
  };
41
- var createWindowEventData = function createWindowEventData(_ref) {
42
- var eventType = _ref.eventType,
43
- event = _ref.event;
33
+ const createWindowEventData = _ref => {
34
+ let {
35
+ eventType,
36
+ event
37
+ } = _ref;
44
38
  if (SUPPORT_WINDOW_MOUSE_EVENT_TYPES.includes(eventType)) {
45
39
  return {
46
40
  type: eventType,
@@ -77,9 +71,8 @@ var createWindowEventData = function createWindowEventData(_ref) {
77
71
  * IframeAdapter – enables secure postMessage communication in production environments
78
72
  * For HTML page running inside an iframe
79
73
  */
80
- var IframeAdapter = /*#__PURE__*/function () {
81
- function IframeAdapter(options) {
82
- _classCallCheck(this, IframeAdapter);
74
+ class IframeAdapter {
75
+ constructor(options) {
83
76
  this.options = options || {};
84
77
  this.selfWindow = window.parent === window.self;
85
78
  this.targetOrigin = this.options.targetOrigin || '*';
@@ -88,256 +81,215 @@ var IframeAdapter = /*#__PURE__*/function () {
88
81
  this.timeout = this.options.timeout || 10000;
89
82
  this.setupMessageListener();
90
83
  }
91
- return _createClass(IframeAdapter, [{
92
- key: "generatorRequestId",
93
- value: function generatorRequestId() {
94
- var id = generatorBase64Code();
95
- while (hasOwnProperty(this.pendingRequests, id)) {
96
- id = generatorBase64Code();
97
- }
98
- return id;
84
+ generatorRequestId() {
85
+ let id = generatorBase64Code();
86
+ while (hasOwnProperty(this.pendingRequests, id)) {
87
+ id = generatorBase64Code();
99
88
  }
100
- }, {
101
- key: "setupMessageListener",
102
- value: function setupMessageListener() {
103
- if (this.selfWindow) return;
104
- window.addEventListener('message', this.handleMessage.bind(this));
105
- this.setEventsListener();
106
- }
107
- }, {
108
- key: "postWindowEvent",
109
- value: function postWindowEvent(eventData) {
110
- if (!eventData) return;
111
- window.parent.postMessage({
112
- type: POST_MESSAGE_TYPE.WINDOW_EVENT,
113
- params: {
114
- event_data: _objectSpread(_objectSpread({}, eventData), {}, {
115
- source: WINDOW_EVENT_SOURCE_TYPE.IFRAME
116
- })
89
+ return id;
90
+ }
91
+ setupMessageListener() {
92
+ if (this.selfWindow) return;
93
+ window.addEventListener('message', this.handleMessage.bind(this));
94
+ this.setEventsListener();
95
+ }
96
+ postWindowEvent(eventData) {
97
+ if (!eventData) return;
98
+ window.parent.postMessage({
99
+ type: POST_MESSAGE_TYPE.WINDOW_EVENT,
100
+ params: {
101
+ event_data: {
102
+ ...eventData,
103
+ source: WINDOW_EVENT_SOURCE_TYPE.IFRAME
117
104
  }
118
- }, this.targetOrigin);
119
- }
120
- }, {
121
- key: "setEventsListener",
122
- value: function setEventsListener() {
123
- var _this = this;
124
- var rafId = null;
125
- var pendingEvent = null;
126
- [].concat(SUPPORT_WINDOW_MOUSE_EVENT_TYPES, SUPPORT_WINDOW_KEYBOARD_EVENT_TYPES, SUPPORT_WINDOW_DRAG_EVENT_TYPES).forEach(function (eventType) {
127
- window.addEventListener(eventType, function (event) {
128
- if (event.source === WINDOW_EVENT_SOURCE_TYPE.APP) return;
129
- if (HIGH_FREQUENCY_WINDOW_EVENT_TYPES.includes(eventType)) {
130
- // High-frequency events that need throttling (use RAF to limit to 60fps)
131
- // Use requestAnimationFrame for throttling high-frequency events
132
- // Store the latest event with necessary data
133
- pendingEvent = createWindowEventData({
134
- eventType: eventType,
135
- event: event
136
- });
105
+ }
106
+ }, this.targetOrigin);
107
+ }
108
+ setEventsListener() {
109
+ let rafId = null;
110
+ let pendingEvent = null;
111
+ [...SUPPORT_WINDOW_MOUSE_EVENT_TYPES, ...SUPPORT_WINDOW_KEYBOARD_EVENT_TYPES, ...SUPPORT_WINDOW_DRAG_EVENT_TYPES].forEach(eventType => {
112
+ window.addEventListener(eventType, event => {
113
+ if (event.source === WINDOW_EVENT_SOURCE_TYPE.APP) return;
114
+ if (HIGH_FREQUENCY_WINDOW_EVENT_TYPES.includes(eventType)) {
115
+ // High-frequency events that need throttling (use RAF to limit to 60fps)
116
+ // Use requestAnimationFrame for throttling high-frequency events
117
+ // Store the latest event with necessary data
118
+ pendingEvent = createWindowEventData({
119
+ eventType,
120
+ event
121
+ });
137
122
 
138
- // Only schedule a new frame if one isn't already scheduled
139
- if (rafId === null) {
140
- rafId = requestAnimationFrame(function () {
141
- if (pendingEvent) {
142
- _this.postWindowEvent(pendingEvent);
143
- pendingEvent = null;
144
- rafId = null;
145
- }
146
- });
147
- }
148
- return;
123
+ // Only schedule a new frame if one isn't already scheduled
124
+ if (rafId === null) {
125
+ rafId = requestAnimationFrame(() => {
126
+ if (pendingEvent) {
127
+ this.postWindowEvent(pendingEvent);
128
+ pendingEvent = null;
129
+ rafId = null;
130
+ }
131
+ });
149
132
  }
133
+ return;
134
+ }
150
135
 
151
- // Low-frequency events
152
- _this.postWindowEvent(createWindowEventData({
153
- eventType: eventType,
154
- event: event
155
- }));
156
- }, true);
136
+ // Low-frequency events
137
+ this.postWindowEvent(createWindowEventData({
138
+ eventType,
139
+ event
140
+ }));
141
+ }, true);
142
+ });
143
+ }
144
+ async request(method, params) {
145
+ if (this.selfWindow) {
146
+ return new Promise(resolve => {
147
+ resolve(null);
157
148
  });
158
149
  }
159
- }, {
160
- key: "request",
161
- value: function () {
162
- var _request = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(method, params) {
163
- var _this2 = this;
164
- var requestId;
165
- return _regeneratorRuntime.wrap(function (_context) {
166
- while (1) switch (_context.prev = _context.next) {
167
- case 0:
168
- if (!this.selfWindow) {
169
- _context.next = 1;
170
- break;
171
- }
172
- return _context.abrupt("return", new Promise(function (resolve) {
173
- resolve(null);
174
- }));
175
- case 1:
176
- requestId = this.generatorRequestId();
177
- return _context.abrupt("return", new Promise(function (resolve, reject) {
178
- _this2.pendingRequests[requestId] = {
179
- resolve: resolve,
180
- reject: reject
181
- };
182
- window.parent.postMessage({
183
- type: POST_MESSAGE_TYPE.HTML_PAGE_REQUEST,
184
- requestId: requestId,
185
- method: method,
186
- params: params
187
- }, _this2.targetOrigin);
188
-
189
- // request timeout
190
- // reject and clear the pending request
191
- var timeoutId = setTimeout(function () {
192
- if (hasOwnProperty(_this2.pendingRequests, requestId)) {
193
- delete _this2.pendingRequests[requestId];
194
- reject(new Error("Request timeout: ".concat(method)));
195
- }
196
- }, _this2.timeout);
150
+ const requestId = this.generatorRequestId();
151
+ return new Promise((resolve, reject) => {
152
+ this.pendingRequests[requestId] = {
153
+ resolve,
154
+ reject
155
+ };
156
+ window.parent.postMessage({
157
+ type: POST_MESSAGE_TYPE.HTML_PAGE_REQUEST,
158
+ requestId,
159
+ method,
160
+ params
161
+ }, this.targetOrigin);
197
162
 
198
- // save timeoutId for the pending request
199
- var pending = _this2.pendingRequests[requestId];
200
- if (pending) {
201
- pending.timeoutId = timeoutId;
202
- }
203
- }));
204
- case 2:
205
- case "end":
206
- return _context.stop();
207
- }
208
- }, _callee, this);
209
- }));
210
- function request(_x, _x2) {
211
- return _request.apply(this, arguments);
212
- }
213
- return request;
214
- }()
215
- }, {
216
- key: "handleMessage",
217
- value: function handleMessage(event) {
218
- var _event$data = event.data,
219
- type = _event$data.type,
220
- requestId = _event$data.requestId,
221
- data = _event$data.data,
222
- error = _event$data.error,
223
- eventType = _event$data.eventType,
224
- payload = _event$data.payload;
225
- if (type === POST_MESSAGE_TYPE.HTML_PAGE_RESPONSE) {
226
- var pending = this.pendingRequests[requestId];
227
- if (pending) {
228
- clearTimeout(pending.timeoutId);
163
+ // request timeout
164
+ // reject and clear the pending request
165
+ const timeoutId = setTimeout(() => {
166
+ if (hasOwnProperty(this.pendingRequests, requestId)) {
229
167
  delete this.pendingRequests[requestId];
230
- if (error) {
231
- pending.reject(new Error(error));
232
- } else {
233
- pending.resolve(data ? JSON.parse(data) : null);
234
- }
168
+ reject(new Error(`Request timeout: ${method}`));
235
169
  }
236
- } else if (type === POST_MESSAGE_TYPE.HTML_PAGE_EVENT) {
237
- this.emitEvent(eventType, payload);
238
- } else if (type === POST_MESSAGE_TYPE.WINDOW_EVENT) {
239
- var eventData = data.event_data;
240
- if (!eventData) return;
241
- var syntheticEvent;
242
- var targetElement;
243
- if (SUPPORT_WINDOW_KEYBOARD_EVENT_TYPES.includes(eventData.type)) {
244
- syntheticEvent = new KeyboardEvent(eventData.type, {
245
- bubbles: true,
246
- cancelable: true,
247
- key: eventData.key,
248
- code: eventData.code,
249
- keyCode: eventData.keyCode,
250
- ctrlKey: eventData.ctrlKey,
251
- shiftKey: eventData.shiftKey,
252
- altKey: eventData.altKey,
253
- metaKey: eventData.metaKey,
254
- repeat: eventData.repeat,
255
- view: window
256
- });
257
- targetElement = document.activeElement || document.body;
258
- } else if (SUPPORT_WINDOW_MOUSE_EVENT_TYPES.includes(eventData.type)) {
259
- syntheticEvent = new MouseEvent(eventData.type, {
260
- bubbles: true,
261
- cancelable: true,
262
- view: window,
263
- clientX: eventData.x,
264
- clientY: eventData.y,
265
- screenX: eventData.x,
266
- screenY: eventData.y,
267
- button: eventData.button,
268
- buttons: eventData.buttons
269
- });
270
- var elementAtPoint = document.elementFromPoint(eventData.x, eventData.y);
271
- targetElement = elementAtPoint || document.body;
272
- } else if (SUPPORT_WINDOW_DRAG_EVENT_TYPES.includes(eventData.type)) {
273
- syntheticEvent = new DragEvent(eventData.type, {
274
- bubbles: true,
275
- cancelable: true,
276
- view: window,
277
- clientX: eventData.x,
278
- clientY: eventData.y,
279
- screenX: eventData.x,
280
- screenY: eventData.y,
281
- button: eventData.button,
282
- buttons: eventData.buttons
283
- });
284
- var _elementAtPoint = document.elementFromPoint(eventData.x, eventData.y);
285
- targetElement = _elementAtPoint || document.body;
286
- }
287
- if (!targetElement || !syntheticEvent) return;
170
+ }, this.timeout);
288
171
 
289
- // Dispatch once on the target element, it will bubble up naturally
290
- syntheticEvent.source = eventData.source;
291
- targetElement.dispatchEvent(syntheticEvent);
172
+ // save timeoutId for the pending request
173
+ const pending = this.pendingRequests[requestId];
174
+ if (pending) {
175
+ pending.timeoutId = timeoutId;
292
176
  }
293
- }
294
- }, {
295
- key: "on",
296
- value: function on(eventType, handler) {
297
- var _this3 = this;
298
- if (!hasOwnProperty(this.eventHandlers, eventType)) {
299
- this.eventHandlers[eventType] = [];
300
- }
301
- this.eventHandlers[eventType].push(handler);
302
- return function () {
303
- return _this3.off(eventType, handler);
304
- };
305
- }
306
- }, {
307
- key: "off",
308
- value: function off(eventType, handler) {
309
- var handlers = this.eventHandlers[eventType];
310
- if (handlers) {
311
- var index = handlers.indexOf(handler);
312
- if (index !== -1) {
313
- handlers.splice(index, 1);
177
+ });
178
+ }
179
+ handleMessage(event) {
180
+ const {
181
+ type,
182
+ requestId,
183
+ data,
184
+ error,
185
+ eventType,
186
+ payload
187
+ } = event.data;
188
+ if (type === POST_MESSAGE_TYPE.HTML_PAGE_RESPONSE) {
189
+ const pending = this.pendingRequests[requestId];
190
+ if (pending) {
191
+ clearTimeout(pending.timeoutId);
192
+ delete this.pendingRequests[requestId];
193
+ if (error) {
194
+ pending.reject(new Error(error));
195
+ } else {
196
+ pending.resolve(data ? JSON.parse(data) : null);
314
197
  }
315
198
  }
199
+ } else if (type === POST_MESSAGE_TYPE.HTML_PAGE_EVENT) {
200
+ this.emitEvent(eventType, payload);
201
+ } else if (type === POST_MESSAGE_TYPE.WINDOW_EVENT) {
202
+ const eventData = data.event_data;
203
+ if (!eventData) return;
204
+ let syntheticEvent;
205
+ let targetElement;
206
+ if (SUPPORT_WINDOW_KEYBOARD_EVENT_TYPES.includes(eventData.type)) {
207
+ syntheticEvent = new KeyboardEvent(eventData.type, {
208
+ bubbles: true,
209
+ cancelable: true,
210
+ key: eventData.key,
211
+ code: eventData.code,
212
+ keyCode: eventData.keyCode,
213
+ ctrlKey: eventData.ctrlKey,
214
+ shiftKey: eventData.shiftKey,
215
+ altKey: eventData.altKey,
216
+ metaKey: eventData.metaKey,
217
+ repeat: eventData.repeat,
218
+ view: window
219
+ });
220
+ targetElement = document.activeElement || document.body;
221
+ } else if (SUPPORT_WINDOW_MOUSE_EVENT_TYPES.includes(eventData.type)) {
222
+ syntheticEvent = new MouseEvent(eventData.type, {
223
+ bubbles: true,
224
+ cancelable: true,
225
+ view: window,
226
+ clientX: eventData.x,
227
+ clientY: eventData.y,
228
+ screenX: eventData.x,
229
+ screenY: eventData.y,
230
+ button: eventData.button,
231
+ buttons: eventData.buttons
232
+ });
233
+ const elementAtPoint = document.elementFromPoint(eventData.x, eventData.y);
234
+ targetElement = elementAtPoint || document.body;
235
+ } else if (SUPPORT_WINDOW_DRAG_EVENT_TYPES.includes(eventData.type)) {
236
+ syntheticEvent = new DragEvent(eventData.type, {
237
+ bubbles: true,
238
+ cancelable: true,
239
+ view: window,
240
+ clientX: eventData.x,
241
+ clientY: eventData.y,
242
+ screenX: eventData.x,
243
+ screenY: eventData.y,
244
+ button: eventData.button,
245
+ buttons: eventData.buttons
246
+ });
247
+ const elementAtPoint = document.elementFromPoint(eventData.x, eventData.y);
248
+ targetElement = elementAtPoint || document.body;
249
+ }
250
+ if (!targetElement || !syntheticEvent) return;
251
+
252
+ // Dispatch once on the target element, it will bubble up naturally
253
+ syntheticEvent.source = eventData.source;
254
+ targetElement.dispatchEvent(syntheticEvent);
316
255
  }
317
- }, {
318
- key: "emitEvent",
319
- value: function emitEvent(eventType, payload) {
320
- var handlers = this.eventHandlers[eventType] || [];
321
- handlers.forEach(function (handler) {
322
- try {
323
- handler(payload);
324
- } catch (error) {
325
- // eslint-disable-next-line
326
- console.error("Error in event handler for ".concat(eventType, ":"), error);
327
- }
328
- });
256
+ }
257
+ on(eventType, handler) {
258
+ if (!hasOwnProperty(this.eventHandlers, eventType)) {
259
+ this.eventHandlers[eventType] = [];
329
260
  }
330
- }, {
331
- key: "destroy",
332
- value: function destroy() {
333
- this.pendingRequests.forEach(function (pending) {
334
- clearTimeout(pending.timeoutId);
335
- pending.reject(new Error('Adapter destroyed'));
336
- });
337
- this.pendingRequests = {};
338
- this.eventHandlers = {};
261
+ this.eventHandlers[eventType].push(handler);
262
+ return () => this.off(eventType, handler);
263
+ }
264
+ off(eventType, handler) {
265
+ const handlers = this.eventHandlers[eventType];
266
+ if (handlers) {
267
+ const index = handlers.indexOf(handler);
268
+ if (index !== -1) {
269
+ handlers.splice(index, 1);
270
+ }
339
271
  }
340
- }]);
341
- }();
272
+ }
273
+ emitEvent(eventType, payload) {
274
+ const handlers = this.eventHandlers[eventType] || [];
275
+ handlers.forEach(handler => {
276
+ try {
277
+ handler(payload);
278
+ } catch (error) {
279
+ // eslint-disable-next-line
280
+ console.error(`Error in event handler for ${eventType}:`, error);
281
+ }
282
+ });
283
+ }
284
+ destroy() {
285
+ this.pendingRequests.forEach(pending => {
286
+ clearTimeout(pending.timeoutId);
287
+ pending.reject(new Error('Adapter destroyed'));
288
+ });
289
+ this.pendingRequests = {};
290
+ this.eventHandlers = {};
291
+ }
292
+ }
342
293
 
343
294
  export { IframeAdapter, POST_MESSAGE_REQUEST_TYPE };
295
+ //# sourceMappingURL=iframe-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe-adapter.js","sources":["../src/iframe-adapter.js"],"sourcesContent":["const POST_MESSAGE_TYPE = {\n HTML_PAGE_REQUEST: 'HTML_PAGE_REQUEST',\n HTML_PAGE_RESPONSE: 'HTML_PAGE_RESPONSE',\n HTML_PAGE_EVENT: 'HTML_PAGE_EVENT',\n WINDOW_EVENT: 'WINDOW_EVENT',\n};\n\nexport const POST_MESSAGE_REQUEST_TYPE = {\n GET_SERVER: 'get_server',\n GET_ACCESS_TOKEN: 'get_access_token',\n GET_APP_UUID: 'get_app_uuid',\n GET_PAGE_ID: 'get_page_id',\n};\n\nconst WINDOW_EVENT_SOURCE_TYPE = {\n APP: 'app',\n IFRAME: 'iframe',\n};\nconst SUPPORT_WINDOW_MOUSE_EVENT_TYPES = ['click', 'dblclick', 'mousemove', 'mouseenter', 'mouseleave', 'mousedown', 'mouseup', 'contextmenu'];\nconst SUPPORT_WINDOW_KEYBOARD_EVENT_TYPES = ['keydown', 'keyup', 'keypress'];\nconst SUPPORT_WINDOW_DRAG_EVENT_TYPES = ['dragstart', 'dragover', 'drag', 'dragend', 'dragenter', 'dragleave', 'drop'];\nconst HIGH_FREQUENCY_WINDOW_EVENT_TYPES = ['mousemove', 'dragover'];\n\nconst hasOwnProperty = (obj, key) => {\n return Object.prototype.hasOwnProperty.call(obj, key);\n};\n\nconst generatorBase64Code = (keyLength = 4) => {\n let possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz0123456789';\n let key = '';\n for (let i = 0; i < keyLength; i++) {\n key += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return key;\n};\n\nconst createWindowEventData = ({ eventType, event }) => {\n if (SUPPORT_WINDOW_MOUSE_EVENT_TYPES.includes(eventType)) {\n return {\n type: eventType,\n x: event.x,\n y: event.y,\n button: event.button,\n buttons: event.buttons,\n };\n }\n if (SUPPORT_WINDOW_KEYBOARD_EVENT_TYPES.includes(eventType)) {\n return {\n type: eventType,\n key: event.key,\n code: event.code,\n keyCode: event.keyCode,\n ctrlKey: event.ctrlKey,\n shiftKey: event.shiftKey,\n altKey: event.altKey,\n metaKey: event.metaKey,\n repeat: event.repeat,\n };\n }\n if (SUPPORT_WINDOW_DRAG_EVENT_TYPES.includes(eventType)) {\n return {\n type: eventType,\n x: event.x,\n y: event.y,\n };\n }\n return null;\n};\n\n/**\n * IframeAdapter – enables secure postMessage communication in production environments\n * For HTML page running inside an iframe\n */\nexport class IframeAdapter {\n constructor(options) {\n this.options = options || {};\n this.selfWindow = window.parent === window.self;\n this.targetOrigin = this.options.targetOrigin || '*';\n this.pendingRequests = {};\n this.eventHandlers = {};\n this.timeout = this.options.timeout || 10000;\n this.setupMessageListener();\n }\n\n generatorRequestId() {\n let id = generatorBase64Code();\n while (hasOwnProperty(this.pendingRequests, id)) {\n id = generatorBase64Code();\n }\n return id;\n }\n\n setupMessageListener() {\n if (this.selfWindow) return;\n window.addEventListener('message', this.handleMessage.bind(this));\n this.setEventsListener();\n }\n\n postWindowEvent(eventData) {\n if (!eventData) return;\n window.parent.postMessage({\n type: POST_MESSAGE_TYPE.WINDOW_EVENT,\n params: {\n event_data: {\n ...eventData,\n source: WINDOW_EVENT_SOURCE_TYPE.IFRAME,\n }\n }\n }, this.targetOrigin);\n }\n\n setEventsListener() {\n let rafId = null;\n let pendingEvent = null;\n [\n ...SUPPORT_WINDOW_MOUSE_EVENT_TYPES,\n ...SUPPORT_WINDOW_KEYBOARD_EVENT_TYPES,\n ...SUPPORT_WINDOW_DRAG_EVENT_TYPES,\n ].forEach(eventType => {\n window.addEventListener(eventType, (event) => {\n if (event.source === WINDOW_EVENT_SOURCE_TYPE.APP) return;\n if (HIGH_FREQUENCY_WINDOW_EVENT_TYPES.includes(eventType)) {\n // High-frequency events that need throttling (use RAF to limit to 60fps)\n // Use requestAnimationFrame for throttling high-frequency events\n // Store the latest event with necessary data\n pendingEvent = createWindowEventData({ eventType, event });\n\n // Only schedule a new frame if one isn't already scheduled\n if (rafId === null) {\n rafId = requestAnimationFrame(() => {\n if (pendingEvent) {\n this.postWindowEvent(pendingEvent);\n pendingEvent = null;\n rafId = null;\n }\n });\n }\n return;\n }\n\n // Low-frequency events\n this.postWindowEvent(createWindowEventData({ eventType, event }));\n }, true);\n });\n }\n\n async request(method, params) {\n if (this.selfWindow) {\n return new Promise((resolve) => {\n resolve(null);\n });\n }\n const requestId = this.generatorRequestId();\n return new Promise((resolve, reject) => {\n this.pendingRequests[requestId] = { resolve, reject };\n window.parent.postMessage({\n type: POST_MESSAGE_TYPE.HTML_PAGE_REQUEST,\n requestId,\n method,\n params\n }, this.targetOrigin);\n\n // request timeout\n // reject and clear the pending request\n const timeoutId = setTimeout(() => {\n if (hasOwnProperty(this.pendingRequests, requestId)) {\n delete this.pendingRequests[requestId];\n reject(new Error(`Request timeout: ${method}`));\n }\n }, this.timeout);\n\n // save timeoutId for the pending request\n const pending = this.pendingRequests[requestId];\n if (pending) {\n pending.timeoutId = timeoutId;\n }\n });\n }\n\n handleMessage(event) {\n const { type, requestId, data, error, eventType, payload } = event.data;\n if (type === POST_MESSAGE_TYPE.HTML_PAGE_RESPONSE) {\n const pending = this.pendingRequests[requestId];\n if (pending) {\n clearTimeout(pending.timeoutId);\n delete this.pendingRequests[requestId];\n if (error) {\n pending.reject(new Error(error));\n } else {\n pending.resolve(data ? JSON.parse(data) : null);\n }\n }\n } else if (type === POST_MESSAGE_TYPE.HTML_PAGE_EVENT) {\n this.emitEvent(eventType, payload);\n } else if (type === POST_MESSAGE_TYPE.WINDOW_EVENT) {\n const eventData = data.event_data;\n if (!eventData) return;\n let syntheticEvent;\n let targetElement;\n if (SUPPORT_WINDOW_KEYBOARD_EVENT_TYPES.includes(eventData.type)) {\n syntheticEvent = new KeyboardEvent(eventData.type, {\n bubbles: true,\n cancelable: true,\n key: eventData.key,\n code: eventData.code,\n keyCode: eventData.keyCode,\n ctrlKey: eventData.ctrlKey,\n shiftKey: eventData.shiftKey,\n altKey: eventData.altKey,\n metaKey: eventData.metaKey,\n repeat: eventData.repeat,\n view: window,\n });\n targetElement = document.activeElement || document.body;\n } else if (SUPPORT_WINDOW_MOUSE_EVENT_TYPES.includes(eventData.type)) {\n syntheticEvent = new MouseEvent(eventData.type, {\n bubbles: true,\n cancelable: true,\n view: window,\n clientX: eventData.x,\n clientY: eventData.y,\n screenX: eventData.x,\n screenY: eventData.y,\n button: eventData.button,\n buttons: eventData.buttons,\n });\n const elementAtPoint = document.elementFromPoint(eventData.x, eventData.y);\n targetElement = elementAtPoint || document.body;\n } else if (SUPPORT_WINDOW_DRAG_EVENT_TYPES.includes(eventData.type)) {\n syntheticEvent = new DragEvent(eventData.type, {\n bubbles: true,\n cancelable: true,\n view: window,\n clientX: eventData.x,\n clientY: eventData.y,\n screenX: eventData.x,\n screenY: eventData.y,\n button: eventData.button,\n buttons: eventData.buttons,\n });\n const elementAtPoint = document.elementFromPoint(eventData.x, eventData.y);\n targetElement = elementAtPoint || document.body;\n }\n\n if (!targetElement || !syntheticEvent) return;\n\n // Dispatch once on the target element, it will bubble up naturally\n syntheticEvent.source = eventData.source;\n targetElement.dispatchEvent(syntheticEvent);\n }\n }\n\n on(eventType, handler) {\n if (!hasOwnProperty(this.eventHandlers, eventType)) {\n this.eventHandlers[eventType] = [];\n }\n this.eventHandlers[eventType].push(handler);\n return () => this.off(eventType, handler);\n }\n\n off(eventType, handler) {\n const handlers = this.eventHandlers[eventType];\n if (handlers) {\n const index = handlers.indexOf(handler);\n if (index !== -1) {\n handlers.splice(index, 1);\n }\n }\n }\n\n emitEvent(eventType, payload) {\n const handlers = this.eventHandlers[eventType] || [];\n handlers.forEach(handler => {\n try {\n handler(payload);\n } catch (error) {\n // eslint-disable-next-line\n console.error(`Error in event handler for ${eventType}:`, error);\n }\n });\n }\n\n destroy() {\n this.pendingRequests.forEach(pending => {\n clearTimeout(pending.timeoutId);\n pending.reject(new Error('Adapter destroyed'));\n });\n this.pendingRequests = {};\n this.eventHandlers = {};\n }\n}\n"],"names":["POST_MESSAGE_TYPE","HTML_PAGE_REQUEST","HTML_PAGE_RESPONSE","HTML_PAGE_EVENT","WINDOW_EVENT","POST_MESSAGE_REQUEST_TYPE","GET_SERVER","GET_ACCESS_TOKEN","GET_APP_UUID","GET_PAGE_ID","WINDOW_EVENT_SOURCE_TYPE","APP","IFRAME","SUPPORT_WINDOW_MOUSE_EVENT_TYPES","SUPPORT_WINDOW_KEYBOARD_EVENT_TYPES","SUPPORT_WINDOW_DRAG_EVENT_TYPES","HIGH_FREQUENCY_WINDOW_EVENT_TYPES","hasOwnProperty","obj","key","Object","prototype","call","generatorBase64Code","keyLength","arguments","length","undefined","possible","i","charAt","Math","floor","random","createWindowEventData","_ref","eventType","event","includes","type","x","y","button","buttons","code","keyCode","ctrlKey","shiftKey","altKey","metaKey","repeat","IframeAdapter","constructor","options","selfWindow","window","parent","self","targetOrigin","pendingRequests","eventHandlers","timeout","setupMessageListener","generatorRequestId","id","addEventListener","handleMessage","bind","setEventsListener","postWindowEvent","eventData","postMessage","params","event_data","source","rafId","pendingEvent","forEach","requestAnimationFrame","request","method","Promise","resolve","requestId","reject","timeoutId","setTimeout","Error","pending","data","error","payload","clearTimeout","JSON","parse","emitEvent","syntheticEvent","targetElement","KeyboardEvent","bubbles","cancelable","view","document","activeElement","body","MouseEvent","clientX","clientY","screenX","screenY","elementAtPoint","elementFromPoint","DragEvent","dispatchEvent","on","handler","push","off","handlers","index","indexOf","splice","console","destroy"],"mappings":"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"}
package/es/index.js CHANGED
@@ -1 +1,2 @@
1
1
  export { HTMLPageSDK } from './sdk.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}