@lvce-editor/renderer-process 13.13.0 → 13.15.0

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.
@@ -361,7 +361,7 @@ const setLoad = load => {
361
361
  };
362
362
 
363
363
  const ipcs = Object.create(null);
364
- const set$9 = (name, ipc) => {
364
+ const set$a = (name, ipc) => {
365
365
  ipcs[name] = ipc;
366
366
  };
367
367
  const get$9 = name => {
@@ -469,7 +469,7 @@ const create$4$1 = (method, params) => {
469
469
  };
470
470
  };
471
471
  const callbacks = Object.create(null);
472
- const set$8 = (id, fn) => {
472
+ const set$9 = (id, fn) => {
473
473
  callbacks[id] = fn;
474
474
  };
475
475
  const get$8 = id => {
@@ -488,7 +488,7 @@ const registerPromise = () => {
488
488
  resolve,
489
489
  promise
490
490
  } = Promise.withResolvers();
491
- set$8(id, resolve);
491
+ set$9(id, resolve);
492
492
  return {
493
493
  id,
494
494
  promise
@@ -1069,7 +1069,7 @@ const hydrate$3 = async () => {
1069
1069
  } = new MessageChannel();
1070
1070
  // TODO only launch port and send to renderer worker
1071
1071
  const promise = launchEditorWorker(port1);
1072
- set$9('Editor Worker', port2);
1072
+ set$a('Editor Worker', port2);
1073
1073
  await promise;
1074
1074
  };
1075
1075
 
@@ -1100,7 +1100,7 @@ const hydrate$2 = async () => {
1100
1100
  // TODO only launch port and send to renderer worker
1101
1101
  const promise = launchExtensionHostWorker(port1);
1102
1102
  const name = isElectron ? 'Extension Host (Electron)' : 'Extension Host';
1103
- set$9(name, port2);
1103
+ set$a(name, port2);
1104
1104
  await promise;
1105
1105
  };
1106
1106
 
@@ -1123,7 +1123,7 @@ const hydrate$1 = async () => {
1123
1123
  } = new MessageChannel();
1124
1124
  // TODO only launch port and send to renderer worker
1125
1125
  const promise = launchSyntaxHighlightingWorker(port1);
1126
- set$9('Syntax Highlighting Worker', port2);
1126
+ set$a('Syntax Highlighting Worker', port2);
1127
1127
  await promise;
1128
1128
  };
1129
1129
 
@@ -1490,7 +1490,7 @@ const cache$1 = new Map();
1490
1490
  const has = listener => {
1491
1491
  return cache$1.has(listener);
1492
1492
  };
1493
- const set$7 = (listener, value) => {
1493
+ const set$8 = (listener, value) => {
1494
1494
  cache$1.set(listener, value);
1495
1495
  };
1496
1496
  const get$7 = listener => {
@@ -1517,7 +1517,7 @@ const getWrappedListener$1 = (listener, returnValue) => {
1517
1517
  ipc.send('Viewlet.executeViewletCommand', uid, ...result);
1518
1518
  };
1519
1519
  nameAnonymousFunction$1(wrapped, listener.name);
1520
- set$7(listener, wrapped);
1520
+ set$8(listener, wrapped);
1521
1521
  }
1522
1522
  return get$7(listener);
1523
1523
  };
@@ -1739,6 +1739,13 @@ const applyPatch = ($Element, patches) => {
1739
1739
  }
1740
1740
  }
1741
1741
  };
1742
+ const dragInfos = Object.create(null);
1743
+ const setDragInfo = (id, data) => {
1744
+ dragInfos[id] = data;
1745
+ };
1746
+ const getDragInfo = id => {
1747
+ return dragInfos[id];
1748
+ };
1742
1749
  let id = 0;
1743
1750
  const create$H = () => {
1744
1751
  return ++id;
@@ -1763,6 +1770,36 @@ const addFileHandle$1 = fileHandle => {
1763
1770
  const promise = Promise.resolve(fileHandle);
1764
1771
  return add(promise);
1765
1772
  };
1773
+ const setDragImage = (dataTransfer, label) => {
1774
+ const dragImage = document.createElement('div');
1775
+ dragImage.className = 'DragImage';
1776
+ dragImage.textContent = label;
1777
+ document.body.append(dragImage);
1778
+ dataTransfer.setDragImage(dragImage, -10, -10);
1779
+ const handleTimeOut = () => {
1780
+ dragImage.remove();
1781
+ };
1782
+ setTimeout(handleTimeOut, 0);
1783
+ };
1784
+ const applyDragInfoMaybe = event => {
1785
+ const {
1786
+ target,
1787
+ dataTransfer
1788
+ } = event;
1789
+ if (dataTransfer) {
1790
+ const uid = getComponentUid(target);
1791
+ const dragInfo = getDragInfo(uid);
1792
+ if (!dragInfo) {
1793
+ return;
1794
+ }
1795
+ for (const item of dragInfo) {
1796
+ dataTransfer.setData(item.type, item.data);
1797
+ }
1798
+ if (dragInfo.label) {
1799
+ setDragImage(dataTransfer, dragInfo.label);
1800
+ }
1801
+ }
1802
+ };
1766
1803
  let ignore = false;
1767
1804
  const startIgnore = () => {
1768
1805
  ignore = true;
@@ -1867,6 +1904,7 @@ const createFn = info => {
1867
1904
  const uid = getComponentUidFromEvent(event);
1868
1905
  const args = getEventListenerArgs(info.params, event);
1869
1906
  preventEventsMaybe(info, event);
1907
+ applyDragInfoMaybe(event);
1870
1908
  if (args.length === 0) {
1871
1909
  return;
1872
1910
  }
@@ -2000,7 +2038,7 @@ const rememberFocus$1 = ($Viewlet, dom, eventMap, uid = 0) => {
2000
2038
  return $Viewlet;
2001
2039
  };
2002
2040
 
2003
- const set$6 = setComponentUid;
2041
+ const set$7 = setComponentUid;
2004
2042
  const get$6 = getComponentUid;
2005
2043
  const fromEvent = getComponentUidFromEvent;
2006
2044
 
@@ -2012,7 +2050,7 @@ const applyUidWorkaround = element => {
2012
2050
  throw new Error('no editor found');
2013
2051
  }
2014
2052
  const editorUid = get$6(editor);
2015
- set$6(element, editorUid);
2053
+ set$7(element, editorUid);
2016
2054
  };
2017
2055
 
2018
2056
  const setBounds$a = ($Element, x, y, width, height) => {
@@ -2265,55 +2303,63 @@ class AssertionError extends Error {
2265
2303
  this.name = 'AssertionError';
2266
2304
  }
2267
2305
  }
2306
+ const Object$1 = 1;
2307
+ const Number$1 = 2;
2308
+ const Array$1 = 3;
2309
+ const String$1 = 4;
2310
+ const Boolean$1 = 5;
2311
+ const Function = 6;
2312
+ const Null = 7;
2313
+ const Unknown$1 = 8;
2268
2314
  const getType = value => {
2269
2315
  switch (typeof value) {
2270
2316
  case 'number':
2271
- return 'number';
2317
+ return Number$1;
2272
2318
  case 'function':
2273
- return 'function';
2319
+ return Function;
2274
2320
  case 'string':
2275
- return 'string';
2321
+ return String$1;
2276
2322
  case 'object':
2277
2323
  if (value === null) {
2278
- return 'null';
2324
+ return Null;
2279
2325
  }
2280
2326
  if (Array.isArray(value)) {
2281
- return 'array';
2327
+ return Array$1;
2282
2328
  }
2283
- return 'object';
2329
+ return Object$1;
2284
2330
  case 'boolean':
2285
- return 'boolean';
2331
+ return Boolean$1;
2286
2332
  default:
2287
- return 'unknown';
2333
+ return Unknown$1;
2288
2334
  }
2289
2335
  };
2290
2336
  const object = value => {
2291
2337
  const type = getType(value);
2292
- if (type !== 'object') {
2338
+ if (type !== Object$1) {
2293
2339
  throw new AssertionError('expected value to be of type object');
2294
2340
  }
2295
2341
  };
2296
2342
  const number = value => {
2297
2343
  const type = getType(value);
2298
- if (type !== 'number') {
2344
+ if (type !== Number$1) {
2299
2345
  throw new AssertionError('expected value to be of type number');
2300
2346
  }
2301
2347
  };
2302
2348
  const array = value => {
2303
2349
  const type = getType(value);
2304
- if (type !== 'array') {
2350
+ if (type !== Array$1) {
2305
2351
  throw new AssertionError('expected value to be of type array');
2306
2352
  }
2307
2353
  };
2308
2354
  const string = value => {
2309
2355
  const type = getType(value);
2310
- if (type !== 'string') {
2356
+ if (type !== String$1) {
2311
2357
  throw new AssertionError('expected value to be of type string');
2312
2358
  }
2313
2359
  };
2314
2360
  const boolean = value => {
2315
2361
  const type = getType(value);
2316
- if (type !== 'boolean') {
2362
+ if (type !== Boolean$1) {
2317
2363
  throw new AssertionError('expected value to be of type boolean');
2318
2364
  }
2319
2365
  };
@@ -4397,7 +4443,7 @@ const FileHandles_ipc = {
4397
4443
  const state$5 = {
4398
4444
  styleSheets: Object.create(null)
4399
4445
  };
4400
- const set$5 = (id, sheet) => {
4446
+ const set$6 = (id, sheet) => {
4401
4447
  state$5.styleSheets[id] = sheet;
4402
4448
  };
4403
4449
  const get$5 = id => {
@@ -4411,7 +4457,7 @@ const addCssStyleSheet = async (id, text) => {
4411
4457
  return;
4412
4458
  }
4413
4459
  const sheet = new CSSStyleSheet({});
4414
- set$5(id, sheet);
4460
+ set$6(id, sheet);
4415
4461
  await sheet.replace(text);
4416
4462
  document.adoptedStyleSheets.push(sheet);
4417
4463
  };
@@ -4962,7 +5008,7 @@ const state$3 = {
4962
5008
  const get$4 = id => {
4963
5009
  return state$3.canvasObjects[id];
4964
5010
  };
4965
- const set$4 = (canvasId, canvas) => {
5011
+ const set$5 = (canvasId, canvas) => {
4966
5012
  state$3.canvasObjects[canvasId] = canvas;
4967
5013
  };
4968
5014
 
@@ -4972,7 +5018,7 @@ const get$3 = id => {
4972
5018
  const create$u = async (canvasId, objectId) => {
4973
5019
  const canvas = document.createElement('canvas');
4974
5020
  const offscreenCanvas = canvas.transferControlToOffscreen();
4975
- set$4(canvasId, canvas);
5021
+ set$5(canvasId, canvas);
4976
5022
  await invokeAndTransfer('Transferrable.transfer', objectId, offscreenCanvas);
4977
5023
  };
4978
5024
 
@@ -5413,7 +5459,7 @@ const screenCaptures = Object.create(null);
5413
5459
  const get$2 = id => {
5414
5460
  return screenCaptures[id];
5415
5461
  };
5416
- const set$3 = (id, captureStream) => {
5462
+ const set$4 = (id, captureStream) => {
5417
5463
  screenCaptures[id] = captureStream;
5418
5464
  };
5419
5465
  const remove$1 = id => {
@@ -5429,7 +5475,7 @@ const start = async (id, options) => {
5429
5475
  number(id);
5430
5476
  object(options);
5431
5477
  const captureStream = await navigator.mediaDevices.getUserMedia(options);
5432
- set$3(id, captureStream);
5478
+ set$4(id, captureStream);
5433
5479
  } catch (error) {
5434
5480
  throw new VError$1(error, `Failed to start screen capture`);
5435
5481
  }
@@ -5789,7 +5835,7 @@ const toHaveAttribute = (locator, {
5789
5835
  }
5790
5836
  const actual = element.getAttribute(key);
5791
5837
  return {
5792
- wasFound: false,
5838
+ wasFound: true,
5793
5839
  actual
5794
5840
  };
5795
5841
  };
@@ -5991,7 +6037,7 @@ const TestFrameWork_ipc = {
5991
6037
  };
5992
6038
 
5993
6039
  const webViews = Object.create(null);
5994
- const set$2 = (id, webView) => {
6040
+ const set$3 = (id, webView) => {
5995
6041
  webViews[id] = webView;
5996
6042
  };
5997
6043
  const get = id => {
@@ -6047,6 +6093,10 @@ const Transferrable_ipc = {
6047
6093
  name: name$9
6048
6094
  };
6049
6095
 
6096
+ const set$2 = (id, data) => {
6097
+ setDragInfo(id, data);
6098
+ };
6099
+
6050
6100
  const state = {
6051
6101
  identifiers: new Uint32Array()
6052
6102
  };
@@ -9884,7 +9934,7 @@ const setMenus = (state, changes, uid) => {
9884
9934
  const menu = change[1];
9885
9935
  const dom = change[2];
9886
9936
  const $Menu = create$Menu();
9887
- set$6($Menu, uid);
9937
+ set$7($Menu, uid);
9888
9938
  $Menu.onmouseover = handleMenuMouseOver;
9889
9939
  $Menu.onclick = handleMenuClick;
9890
9940
  const {
@@ -10085,7 +10135,7 @@ const setIframe = (state, src, sandbox = [], srcDoc = '', csp = '', credentialle
10085
10135
  $Iframe.className = 'E2eTestIframe WebViewIframe';
10086
10136
  $Parent.append($Iframe);
10087
10137
  state.frame = $Iframe;
10088
- set$2(1, $Iframe);
10138
+ set$3(1, $Iframe);
10089
10139
  };
10090
10140
  const setPort$1 = (state, portId, origin) => {
10091
10141
  const port = acquire(portId);
@@ -10247,7 +10297,7 @@ const create$3 = (id, uid = id) => {
10247
10297
  state$6.instances[id].state.$Viewlet.remove();
10248
10298
  }
10249
10299
  const instanceState = module.create();
10250
- set$6(instanceState.$Viewlet, uid);
10300
+ set$7(instanceState.$Viewlet, uid);
10251
10301
  if (module.attachEvents) {
10252
10302
  module.attachEvents(instanceState);
10253
10303
  }
@@ -10377,7 +10427,7 @@ const setUid = (viewletId, uid) => {
10377
10427
  const {
10378
10428
  $Viewlet
10379
10429
  } = instance.state;
10380
- set$6($Viewlet, uid);
10430
+ set$7($Viewlet, uid);
10381
10431
  };
10382
10432
  const focusSelector = (viewletId, selector) => {
10383
10433
  const instance = state$6.instances[viewletId];
@@ -10426,6 +10476,9 @@ const createPlaceholder = (viewletId, parentId, top, left, width, height) => {
10426
10476
  }
10427
10477
  };
10428
10478
  };
10479
+ const setDragData = (viewletId, dragData) => {
10480
+ set$2(viewletId, dragData);
10481
+ };
10429
10482
  const setDom = (viewletId, dom) => {
10430
10483
  const instance = state$6.instances[viewletId];
10431
10484
  if (!instance) {
@@ -10460,7 +10513,7 @@ const setDom2 = (viewletId, dom) => {
10460
10513
  const $NewViewlet = rememberFocus($Viewlet, dom, Events, viewletId);
10461
10514
  if (uid) {
10462
10515
  // @ts-ignore
10463
- set$6($NewViewlet, uid);
10516
+ set$7($NewViewlet, uid);
10464
10517
  }
10465
10518
  instance.state.$Viewlet = $NewViewlet;
10466
10519
  };
@@ -10600,6 +10653,10 @@ const sendMultiple = commands => {
10600
10653
  // @ts-ignore
10601
10654
  setUid(viewletId, method, ...args);
10602
10655
  break;
10656
+ case 'Viewlet.setDragData':
10657
+ // @ts-ignore
10658
+ setDragData(viewletId, method, ...args);
10659
+ break;
10603
10660
  case 'Viewlet.addCss':
10604
10661
  case 'Viewlet.setCss':
10605
10662
  case 'Css.addCssStyleSheet':
@@ -10777,6 +10834,8 @@ const getFn = command => {
10777
10834
  return registerEventListeners;
10778
10835
  case 'Viewlet.setPatches':
10779
10836
  return setPatches;
10837
+ case 'Viewlet.setDragData':
10838
+ return setDragData;
10780
10839
  case 'Viewlet.focusSelector':
10781
10840
  return focusSelector;
10782
10841
  case 'Css.addCssStyleSheet':
@@ -11099,7 +11158,7 @@ const create$2 = async (uid, src, sandbox, csp, credentialless, permissionPolicy
11099
11158
  if (title) {
11100
11159
  $Iframe.title = title;
11101
11160
  }
11102
- set$2(uid, $Iframe);
11161
+ set$3(uid, $Iframe);
11103
11162
  // TODO make make waitForFrameToLoad a separate command
11104
11163
  };
11105
11164
  const loadOnly = async uid => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/renderer-process",
3
- "version": "13.13.0",
3
+ "version": "13.15.0",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "lvce-editor",